wikaMedlem sedan dec. 200524 inlägg Håller på med ett litet "news" script där jag använder aspSmartUpload för att ladda upp bilder. När man lägger in en nyhet så behöver man inte bifoga en fil, det är bara om man vill.
Så även fast man inte har valt att bifoga någon fil så vill jag ju spara nyheten i databasen.
Någon som vet hur jag ska göra detta? Jag måste ju på nått sätt kolla om det har laddats upp en fil eller inte.
Har testat dessa utan resultat:
if request.form("file") = "" then
if mySmartUpload.files.item(1) = "" then
if mySmartUpload.Form("file") = "" then
Min upload.asp fil, ser ut på detta vis:
<%
On Error Resume Next
' Variables
' ******************************************************
Dim mySmartUpload
Dim intCount
Dim fileName
' Object creation
' ******************************************************
Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
' Upload
' ******************************************************
mySmartUpload.Upload
' Ta reda på fileName
' ******************************************************
fileName = slump &"." & mySmartUpload.files.item(1).FileExt
' Save the files with their original names in a virtual path of the web server
' ******************************************************
mySmartUpload.files.item(1).saveas "../images/news/" &fileName
' Trap errors
' ******************************************************
If Err Then
' ......
Else
' Spara till databasen (Bifogad fil)
' ******************************************************
' ......
end if
%>
TravoniMedlem sedan okt. 20041 556 inlägg Välkommen till WF!
Börja med att ta bort : On Error Resume Next
Och se vad som händer.
wikaMedlem sedan dec. 200524 inlägg Händer samma samma sak som tidigare.
@ndersMedlem sedan juni 200032 969 inlägg Eftersom filerna är objekt, prova med is nothing istället för = "".
wikaMedlem sedan dec. 200524 inlägg Hur då? Testade denna variant men den fungerade inte:
' Upload
' ******************************************************
mySmartUpload.Upload
if mySmartUpload.Form("file") is nothing then
response.write "Ingen bild"
else
@ndersMedlem sedan juni 200032 969 inlägg Jag tänkte på File-objektet som hör till komponenten. Typ:
If not mySmartUpload.files.item(1) is nothing then
Annars kan man ju använda sig av en for each-slinga, som då bara körs en gång om det är en fil som laddats upp. Exempelkod från https://www.aspsmart.com :
For each file In mySmartUpload.Files
' Only if the file exist
' **********************
If not file.IsMissing Then
' Save the files with his original names in a virtual path of the web server
' **************************************************************************
file.SaveAs("/aspSmartUpload/Upload/" & file.FileName)
' sample with a physical path
' file.SaveAs("c:\temp\" & file.FileName)
' Display the properties of the current file
' ******************************************
Response.Write("Name = " & file.Name & "<BR>")
Response.Write("Size = " & file.Size & "<BR>")
Response.Write("FileName = " & file.FileName & "<BR>")
Response.Write("FileExt = " & file.FileExt & "<BR>")
Response.Write("FilePathName = " & file.FilePathName & "<BR>")
Response.Write("ContentType = " & file.ContentType & "<BR>")
Response.Write("ContentDisp = " & file.ContentDisp & "<BR>")
Response.Write("TypeMIME = " & file.TypeMIME & "<BR>")
Response.Write("SubTypeMIME = " & file.SubTypeMIME & "<BR>")
intCount = intCount + 1
End If
Next
Det finns mycket fina grejer att hitta om man kikar lite på http://www.aspsmart.com/ .
mvh