Hej Du skall alltid kolla med en funktion File Exists först och Then gör något. Som Sven säger, du får lägga till en kontroll om filen finns först. ASP hanterar endast överskrivning per default i denna funktion av asp 3.0 , utan att varna. Jag har testat utan större framgång att lägga in en kontroll file.exist. Det blir överkurs för mig. Du får vid rad 77 tag på filnamnet (strFileName) i din kod, där kan du genom att använda FSO (File system Object) kan du sedan ta reda på om den här filen finns. Problemet löst fick ett tips från en vän att att titta på rad 26.Ladda upp filer
Jag har problem med uppladdning av filer. Har använt funktionen i flera år utan att upptäcka felet -;)
Om användare av uppladdningen laddar upp filer med samma namn så skrivs den tidigare över.
Någon som kan hjälpa mig?
<%
' Kontrollera så man är inloggad
If Session("admin") = "" Then
Session("strMess") = "Du är inte inloggad! Logga in för att fortsätta."
Response.Redirect("../../default.asp")
End if
If Request.QueryString("do") = "upload" Then
Set oUpload = Server.CreateObject("ASPPW.Upload")
'oUpload.UserDiskQuota= 20 * 1024 * 1024
oUpload.RejectEmptyExtension = No
oUpload.FileExtensionList "txt", "gif" ,"jpg", "pdf" ,"*" 'remove '*', if you don't allow all types
oUpload.RegistrationCode = ""
oUpload.RemoveUploadedFilesOnError = YES
'Save uploaded file here.
oUpload.UpLoadPath = server.mappath("filer")
'***************************************************************
'Uncomment following lines to save files with a prefix or suffix
'for example, saving abc.gif as Prefix_abc_Suffix.gif.
'oUpload.SaveFileWithPrefix="Prefix_"
'oUpload.SaveFileWithSuffix="_Suffix"
'***************************************************************
'***************************************************************
'Uncomment following lines to upload a file into a BLOB field.
'Note: BLOB uploading doesn't support uploading multiple files
' at a single time.
' Microsoft ADO is required.
'oUpload.BLOBFieldName = "Blob"
'oUpload.LoadIntoBLOBOnly = True
'oUpload.BLOBSQL ="SELECT BLOB FROM BLOB_TBL WHERE BLOB_ID=1"
'oUpload.CONNECTIONSTRING="DSN=Blob;UID=Admin;PWD=;DATABASE=Blob_tbl"
'***************************************************************
i = oUpload.Upload
Select Case i
case 1
sMsg = "Filuppladdningen klar."
Case -4
sMsg = "User's disk quota full."
Case -5
sMsg = "Path on server for uploading not found or invalid."
Case -6
sMsg = "A file type for uploading is not allowed."
Case -7
sMsg = "Uploading exception."
Case -8
sMsg = "File access failure." 'Check your NTFS directory permission, Add R/W/D to IUSR_xxx
Case -9
sMsg = "Bad Content Header."
Case -11
sMsg = "Exception when loading BLOB field."
case else
sMsg = "Exception. Error Code is: " & i & "."
End Select
Response.write "<H1>" + sMsg + "</H1>"
If oUpload.GetLastErrNum <> 0 Then
Response.write "Error: " & oUpload.GetLastErrDescription & "<BR>"
End if
Response.write CStr(oUpload.NumofUploadedFiles) + " fil(er) uppladdade. "
' Hämta data
strRubrik = oUpload.Form("rubrik")
intSida = oUpload.Form("sida")
strText = oUpload.Form("text")
' Ta reda på filnamnet
Set oFiles = oUpload.UploadedFileInfo 'return a Collection
strFilnamn = oFiles("filen").filename
' Lägg till i databasen
Set objCon = openCon()
objCon.Execute("INSERT INTO tblFiler(datum,rubrik,filtext,path,uid,sida) VALUES('" & Date() & "','" & _
strRubrik & "','" & strText & "','" & strFilnamn & "','" & Session("uid") & "'," & intSida & ")")
closeCon(objCon)
Session("strMess") = "Nu är din fil uppladdad!."
Response.Write("<script language='javascript'>window.opener.location.reload();self.close();</script>")
Response.Flush
Response.End
End If
%>
Sv: Ladda upp filer
Någon där ute som kommer ihåg enkel kod för File.Exists Method
http://msdn.microsoft.com/en-us/library/system.io.file.exists.aspxSv:Ladda upp filer
Sv: Ladda upp filer
Sv:Ladda upp filer
dim fs
set fs=Server.CreateObject("Scripting.FileSystemObject")
if fs.FileExists("c:\asp\introduction.asp")=true then
response.write("File c:\asp\introduction.asp exists!")
else
response.write("File c:\asp\introduction.asp does not exist!")
end if
set fs=nothing
Sv: Ladda upp filer
Lösningen blev detta. oUpload.SaveFileWithSuffix= Date & "_" & Hour(Now) & Minute(Now) & Second(Now) & "_"