Hjælp til AspSmartUpload
Jeg have næsten det samme spg i går, og jeg troede at jeg fik det til at virke, men nej :-(Så her kommer det lige igen.
Jeg har nu følgende problemer:
Den hævder at der mangler en End if i sidste linie, men jeg vil ikke mene at jeg er enig.
I følge aspSmart.com, så kan man sikre sig mod at en fil bliver uploadet hvis den er for stor, hvis man bruger følgende linje:
If CLng(Request.ServerVariables("CONTENT_LENGTH")) < CLng(MaxFileSize) Then
men det ser ud til at den uploader filen alligevel.
Jeg håber der er nogen der kan hjælpe mig med at gennemskue koden :-)
*************************** kode start ***********************
<%
If session("UID") = "" Then response.redirect("/Admin")
bolUpload = request("Upload")
If bolUpload = "" Then bolUpload = true
'Tjekker om formen er submittet
bolWasPosted = Request.ServerVariables("HTTP_METHOD") = "POST"
%>
<!--#include virtual="/includes/db.asp"-->
<!--#include virtual="/Admin/includes/stringGenerator.asp"-->
<!-- Insert New Picture Folder -->
<%
'Uploader og resizer et nyt billede
If bolWasPosted Then
'Max billede størrelse i bytes
Const MaxFileSize = 512000 '500 KB
If CLng(Request.ServerVariables("CONTENT_LENGTH")) < CLng(MaxFileSize) Then
Set Upload = Server.CreateObject("AspSmartUpload.SmartUpload")
If Right(Upload.Files("file").FileName,3) = "jpg" OR Right(Upload.Files("file").FileName,4) = "jpeg" OR Right(Upload.Files("file").FileName,3) = "png" OR Right(Upload.Files("file").FileName,3) = "gif" Then
Upload.Upload
If Not Upload.Files("file").IsMissing Then
strFilename = strGenerator()
strFilename = strFilename &"_"& Upload.Files("file").FileName
Upload.Files("file").SaveAs Server.MapPath("/images/Pictures/" & strFilename)
If Err = 0 Then
'Resizer picture
Set Image = Server.CreateObject("AspImage.Image")
Image.LoadImage Server.MapPath("/images/Pictures/" & strFilename)
intWidth = Upload.Form("picWidth")
If intWidth > 500 Then intWidth = 400
If Image.MaxX > intWidth Then
If(Image.MaxX > Image.MaxY) Then
intRatio = ((intWidth * 100) / Image.MaxX)
intNewY = CInt(Image.MaxY * (intRatio / 100))
Image.ResizeR intWidth, intNewY
Image.ImageFormat = 1
Else
intRatio = ((intWidth * 100) / Image.MaxY)
intNewX = CInt(Image.MaxX * (intRatio / 100))
Image.ResizeR intNewX, intWidth
Image.ImageFormat = 1
End if
Image.FileName = Server.MapPath("/images/Pictures/" & strFilename)
Image.SaveImage
Image.LoadImage Server.MapPath("/images/Pictures/" & strFilename)
intRatio = ((40 * 100) / Image.MaxX)
intNewY = CInt(Image.MaxY * (intRatio / 100))
Image.ResizeR 40, intNewY
Image.ImageFormat = 1
Image.FileName = Server.MapPath("/images/Pictures/thumbnails/" & strFilename)
Image.SaveImage
strAlign = Upload.Form("iAlign")
Conn.Execute("INSERT INTO Pictures (Name,FileName,WebShow,FolderId,Alignment,Alt) VALUES ('"& Upload.Form("Name") &"', '"& strFilename &"', "& Upload.Form("show") &", "& Upload.Form("Category") &", '"& striAlign &"','"& Upload.Form("Alt") &"');")
Set Image = Nothing
Set Upload = Nothing
Else
intErrorCode = 30
End If
Else
intErrorCode = 40
End if
Else
intErrorCode = 20
End if
Else
intErrorCode = 21
End If
If intErrorCode = 0 Then
'Hvis alt går godt
response.redirect("test.asp")
End if
End If
%>
<%If request("newFolder") = "yes" Then %>
<!--#include virtual="/Admin/includes/newPictureFolder_inc.asp"-->
<!-- Insert New Picture -->
<%Else%>
<html>
<head>
<title>Indsæt billede</title>
<link rel="stylesheet" type="text/css" href="/Admin/css/Styles.css">
<script type="text/javascript">
function selOn(ctrl) {ctrl.style.borderColor = '#000000';ctrl.style.backgroundColor = '#B5BED6';ctrl.style.cursor = 'hand';}
function selOff(ctrl) {ctrl.style.borderColor = '#D6D3CE';ctrl.style.backgroundColor = '#FFFFFF';}
function selDown(ctrl) {ctrl.style.backgroundColor = '#8492B5';}
function selUp(ctrl) {ctrl.style.backgroundColor = '#B5BED6';}
var msg = "Sender fil ";
var dots = new Array()
dots[0] = "•"
dots[1] = "••"
dots[2] = "•••"
dots[3] = "••••"
dots[4] = "•••••"
dots[5] = "••••••"
var i = 0;
function ProgressCycle(){
if(i<5){i=i+1}else{i=0}
progress.innerHTML = dots[i];
}
function RunProgress(){
setInterval('ProgressCycle()',600)
}
function changePicture(img_name,img_src)
{
document[img_name].src=img_src;
}
</script>
</head>
<body>
<table border=0 width=100% height=100%>
<tr>
<td align=left valign=top>
<h1>Indsæt billede</h1>
<input type="radio" onClick="window.location='chooseExcistingPicture.asp'"> Indsæt eksisterende billede<br>
<input type="radio" checked onClick="window.location='uploadNewPicture.asp'"> Upload nyt billede
<h2>Upload nyt billede</h2>
<center>
<form name="UploadForm" method="POST" enctype="multipart/form-data" action="uploadNewPicture.asp">
<table border="0" width="450">
<tr>
<td width="150">Billede folder:</td>
<td width="300">
<select size="1" name="Category" style="width:143px;">
<option selected>Billede mappe</option>
<%
Set Rs = Conn.Execute("SELECT * FROM PictureFolder;")
Do while not rs.eof
Response.write("<option value="""& Rs("id") &""">"& Rs("FolderName") &"</option>")
Rs.movenext
loop
%>
</select> <a href="uploadNewPicture.asp?newFolder=yes">Opret ny billedemappe</a>
</td>
</tr>
<tr>
<td width="150">Navn (ikke filnavn):</td>
<td width="300"><input type="text" name="Name" size="20"></td>
</tr>
<tr>
<td width="150">Justering:</td>
<td width="300" valign="middle">
<img alt="Venstre" align="top" class="butClass" src="/Admin/images/editorButtons/imageLeft.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="java script:document.UploadForm.iAlign.value='Left'">
<img alt="Ingen justering" align="top" class="butClass" src="/Admin/images/editorButtons/imageNoJust.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="java script:document.UploadForm.iAlign.value=''">
<img alt="Højre" align="top" class="butClass" src="/Admin/images/editorButtons/imageRight.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="java script:document.UploadForm.iAlign.value='Right'">
<input type=text name=iAlign value="" readonly style="height: 23px; width:59px;">
</td>
</tr>
<tr>
<td width="150">Alt tekst:</td>
<td width="300"><input type="text" name="Alt" size="20"></td>
</tr>
<tr>
<td width="150">Vis i billedegalleri:</td>
<td width="300">
<select size="1" name="show">
<option selected value="YES">Ja</option>
<option value="NO">Nej</option>
</select>
</td>
</tr>
<tr>
<td width="150">Ønsket bredde<br />(max 500px):</td>
<td width="300"><input type="text" size="20" name="picWidth"><i>px</i></td>
</tr>
<tr>
<td width="150">Fil:</td>
<td width="300"><input type="file" size="20" name="file"></td>
</tr>
</table>
</form>
<p><a href="java script:RunProgress();;document.UploadForm.submit()">Indsæt</a></p>
<span id=progress>Udfyld felterne, vælg et billede og tryk på send</span>
</center>
<%
'Udskriver fejl fra upload metoden
If intErrorCode > 0 Then
Select Case intErrorCode
Case 20: Response.Write "<script type=""text/javascript"">progress.innerHTML = '<font color=red>Forkert filtype! Der kan kun uploades JPG (*.jpg; *.jpeg) og PNG (*.png) filer!</font>';</script>"
Case 21: Response.Write "<script type=""text/javascript"">progress.innerHTML = '<font color=red>Billedet fylder for meget! Max størrelse er: " & (MaxFileSize \ 1024) & " KB</font>';</script>"
Case 30: Response.Write "<script type=""text/javascript"">progress.innerHTML = '<font color=red>Der opstod en fejl under upload af dit billede og din profil er derfor ikke blevet oprettet. Dette skyldes højst sandsynligt en systemfejl!</font>';</script>"
Case 40: Response.Write "<script type=""text/javascript"">progress.innerHTML = '<font color=red>Du skal vælge en fil!</font>';</script>"
End Select
End If
%>
</td>
<td width="35" style="border-left: 1px dotted AFAFAF;"> </td>
<td width=150 align=top valign=middle>
<fieldset>
<legend>Indsæt billede</legend>
Du kan vælge om du vil indsætte et eksisterende billede eller uploade et nyt billede
</fieldset>
<br />
<fieldset>
<legend>Værd at vide</legend>
Billedet vil autiomatisk blive minimeret så det er 200px i bredden.
</fieldset>
<br /><br/ >
<p align=center><a href=java script:window.close(); id=ctrls3>Luk vindue</a><br /></p>
</td>
</tr>
</table>
</body>
</html>
<%End if%>
<%
Conn.Close
Set Conn = Nothing
Set Rs = Nothing
%>
***************************** Kode Slut ************************
