aspSmartUpload Fejl koder
HejJeg har lavet dette script, men der er nogle problemer med det.
1. MaxFileSize virker ikke, det er lige som om at den er ligeglad med den.
2. Når filen er for stor, skal der komme en bruger defineret fejl meddelse.
3. Når filtypen ikke er af "jpg,jpeg,gif" skal den komme med en bruger defineret fejl meddelse.
<HTML>
<LINK href="/css/style.css" type=text/css rel=stylesheet>
<title>Tilføj profil billede</title><BODY BGCOLOR="white">
<!--#include virtual="/secure/connection.asp"-->
<% Session.LCID = 1030
If Request.QueryString("mode") = "upload" then
'On Error Resume Next
Dim mySmartUpload
Dim file
MAX_UPLOAD_SIZE = 1000000
if Request.ServerVariables("CONTENT_LENGTH")< MAX_UPLOAD_SIZE then
Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
mySmartUpload.MaxFileSize = 1000000
mySmartUpload.AllowedFilesList = "jpg,jpeg,gif"
' Upload
' ******
mySmartUpload.Upload
For each file In mySmartUpload.Files
' Only if the file exist
' **********************
If Not mySmartUpload.files.item(1).IsMissing Then
' Save the files with his original names in a virtual path of the web server
' ****************************************************************************
If Err.Number <> "0" Or Trim(mySmartUpload.files.item(1).TypeMIME) <> "image" Then
Response.Write "Filen er ugyldig!"
Else
SQL = "insert into profilbilleder (billede,profilerID,godkendt) values('','" & request.QueryString("profilerID") & "','0')"
Conn.execute(SQL)
SQL2 = "SELECT last_insert_id() FROM profilbilleder"
Set RS = Conn.Execute(SQL2)
nytID = RS(0)
file.SaveAs("/images/profilbilleder/" & nytID&file.FileName)
SQL = "UPDATE profilbilleder SET billede = '" & nytID&file.FileName & "' WHERE id = '" & nytID & "'"
Conn.execute(SQL)
end if
End If
next
else
Response.write ("File too large to be uploaded.")
end if
'response.Redirect("uploadprofilbillede.asp?mode=ok")
end if
If Request.QueryString("mode") = "" then
sqlfind="Select Count(*) as Found from profilbilleder where (profilerID = '" & Session("id") & "')"
set RSfind = Conn.execute(sqlfind)
if RSfind("Found") = "1" then%>
Du kan højst have et profil billede.
<% else %>
Tilføj profil billede!<br>
<br>
Det er kun billede typer der ender på: jpg, jpeg og gif der kan uploades!<br>
Billedet må højest fylde 1MB.<br>
<FORM METHOD="POST" ACTION="uploadprofilbillede.asp?mode=upload&profilerID=<%=request.QueryString("id")%>" ENCTYPE="multipart/form-data">
<INPUT TYPE="FILE" NAME="FILE1" SIZE="50"><BR>
<br>
<INPUT TYPE="image" name="submit" src="/images/next.jpg">
</FORM>
<% end if %>
<% end if
if Request.QueryString("mode") = "ok" then%>
<script LANGUAGE="javascript">
opener.document.location.reload();
window.close();
</script>
<%end if%>
</BODY>
</HTML>
Hvis jeg forsøger at uploade en jpg fil der fylder 700KB, kommer den med denne fejl:
Request object error 'ASP 0104 : 80004005'
Operation not Allowed
/profil/rediger/uploadprofilbillede.asp, line 21
Men den laver ingen fejl hvis jeg uploader en jpg fil på 50KB
Koden er noget rodet, så det kunne også godt være at der skulle "tømmes" lidt ud i den :-)
På forhånd tak!
// Rene
