Hej. Det verkar som att "If Request.ServerVariables("CONTENT_LENGTH") > 100000 then" inte fungerar. Hej Jonas.asp problem.....
Jag hittade en kodsnutt på nätet som jag inte får att fungera fullt ut. Det är inga problem med att ladda upp bilden alternativt att jag 'glömmer' att lägga till en bild. Problemet börjar när filen är större än 100kb som är gränsen. Då får jag sidan är inte tillgänglig....men samma sida är ju tillgänglig när jag gör en fungerande upload alternativt glömmer filen.
Tacksam för hjälp!
//UJ
Bifogad kod nedan.
<code>
<html>
<head>
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Ny sida 1</title>
</head>
<body>
<%
If Request.Querystring("action")= "" Then%>
<table border="0" cellspacing="0" cellpadding="2" align="center">
<form method="POST" name="andra" action="upload.asp?action=upload" enctype="multipart/form-data">
<tr>
<td style="border-bottom: 1px solid <%=border%>"><b>Ladda upp bild med aspSmartUpload samt bildnamnsbyte</b></td>
</tr>
<tr>
<td><b>Bilden:</b><br><input type="file" name="bild" size="50"></td>
</tr>
<tr>
<td style="border-bottom: 1px solid <%=border%>"><input type="Submit" name="skicka" value=" Ladda upp "></td>
</tr>
<tr>
<td style="border-bottom: 1px solid <%=border%>"><b>Alla filer du laddat upp</b></td>
</tr>
<%Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set Mapp = FSO.GetFolder(Server.MapPath("pic/"))
If Mapp.Files.Count = 0 Then%>
<tr>
<td>Inga bilder finns uppladdade!</td>
</tr>
<%
Else
For Each File In Mapp.Files%>
<tr>
<td><%=File.Name%></td>
</tr>
<%Next
End If
Set Mapp=Nothing
Set FSO=Nothing
%>
</tr>
</form>
</table>
<%
ElseIf Request.QueryString("action") = "upload" Then
If Request.ServerVariables("CONTENT_LENGTH") > 100000 then
Response.Write "<script language=Javascript>"
Response.Write "alert('Bilden får max vara 100 kb. Din bild var " & Round(strStrl,1) & " kb!');"
Response.Write "javascript:history.back();"
Response.Write "</script>"
ElseIf Request.ServerVariables("CONTENT_LENGTH") < 0 then
Response.Write "<script language=Javascript>"
Response.Write "alert('Bilden är korrupt eller så glömde du att välja bild!');"
Response.Write "javascript:history.back();"
Response.Write "</script>"
Else
On Error Resume Next
Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
mySmartUpload.Upload
For each file In mySmartUpload.Files
If not file.IsMissing Then
' ### Lägger filens namn i variabeln filnamn ###
filnamn = Lcase(filnamn)
' ### Plockar ut filens filändelse och lägger den i variabeln exte ###
exte = Lcase(file.FileExt)
' ### Ger bilden ett nytt namn med slumpat ID med blandat siffror och bokstäver ###
filnamn = lcase("{" & getName(20) & "}." & exte)
' ### Sparar nya filen ###
file.SaveAs("pic/" & filnamn)
Response.Redirect "upload.asp"
Else
Response.Write "<script language=Javascript>"
Response.Write "alert('Du glömde välja din bild!');"
Response.Write "javascript:history.back();"
Response.Write "</script>"
End If
Next
End If
End If
' ### Funktion som slumpar fram ett så långt antal siffror som man vald där man anropar funktionen! ###
Function getName(ByVal intLength)
If intLength < 0 Then intLength = 8
Dim strChars, i, strPass, intRnd
strChars = "0123456789"
For i = 1 To intLength
Randomize
intRnd = CInt(Rnd() * (Len(strChars)-1)) + 1
strName = strName & Mid(strChars, intRnd, 1)
Next
getName = strName
End Function
%>
</body>
</code>Sv: asp problem.....
Lägg restriktionen i aspsmartupload istället
mySmartUpload.MaxFileSize = 50000
http://winhosting.rbc.ru/faq/aspSmartUpload/SmartUploadObject.htm#MaxFileSizeSv:asp problem.....
Tack för hjälpen, ibland är det enkla det svåra :-|. Jag gjorde som Du föreslog samt la felhanteringen separat efter istället och det fungerar utmärkt!
//UJ