webForumDet fria alternativet

aspSmartUpload problem

5 svar · 423 visningar · startad av wika

wikaMedlem sedan dec. 200524 inlägg
#1

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
#2

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
#3

Händer samma samma sak som tidigare.

@ndersMedlem sedan juni 200032 969 inlägg
#4

Eftersom filerna är objekt, prova med is nothing istället för = "".

wikaMedlem sedan dec. 200524 inlägg
#5

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
#6

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

256 ms totalt · 3 externa anrop · v20260731065814-full.30151723
130 ms — hämta forumlista (db)
124 ms — hämta statistik (db)
130 ms — hämta tråd, inlägg och bilagor (db)