Hej. För det första vill jag berätta att jag verkligen sökt i forumet men inte hittat hjälp, så tänkte att jag skulle skapa en tråd.
Med ett aspSmartUpload-script så laddar jag då upp en valfri fil till en temporär mapp. Därefter vill jag att denna fil som laddas upp flyttas automatiskt till den inloggade användarens mapp.
Koden:
If Request.QueryString("send") <> "" Then
Dim mySmartUpload
Dim intCount
Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
mySmartUpload.Upload
intCount = mySmartUpload.Save("/brizer/wwwroot/temp")
Response.Write(" " & intCount & " file uploaded. <br><br>")
' här är filen uppladdad, helt utan problem. Hur vet jag namnet på filen jag just laddat upp? Skulle vilja sätta en variabel så att jag kan anropa det senare i fso-koden.
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.MoveFile Server.MapPath("wwwroot/temp/FILANROP") ,Server.MapPath("wwwroot/1/FILANROP")
end if
Där det står filanrop vill jag ha namnet på filen jag just laddat upp, hur tar jag reda på det? Tack på hörhand.
Set oSmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
oSmartUpload.Upload
For each file In oSmartUpload.Files
If not file.IsMissing Then
file.SaveAs("c:\Temp\" & file.FileName)
Response.Write("Name = " & file.Name & "<BR>")
Response.Write("Size = " & file.Size & "<BR>")
intCount = intCount + 1
End If
Next
Så fungerade allt bra. Notera att 14 i det fallet är pathid't som jag vill anropa. Notera också att jag efter exprimerande kom fram till att wwwroot ska vara där.
Hur ska jag bära mig åt för att anropa ett variabel här, utan att få felmeddelandet med ett "/" eller "\" för mycket?
Jag har kontrollerat pathid, och det finns en siffra där, Dock efter att jag skickat en fil så försvinner variabeln pathid (det finns inget där). Jag kan även tillägga att sidan jag laddar upp i är en iframe till huvudsidan. Jag använder följande kod i huvudsidan:
pathid = Request.QueryString("pathid") & "/"
If Request.QueryString("send") <> "" Then
Dim mySmartUpload
Dim intCount
Set oSmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
oSmartUpload.Upload
For Each file In oSmartUpload.Files
If Not file.IsMissing Then
file.SaveAs("wwwroot/temp/" & file.FileName)
Response.Write("Name = " & file.Name & "\<BR\>")
intCount = intCount + 1
fileupl = file.FileName
End If
Next
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.MoveFile Server.MapPath("wwwroot/temp/" & fileupl) , Server.MapPath("wwwroot/" & pathid & fileupl) ' Här innehåller bara pathid ett /, alltså inte request.querystring("pathid"), därför får jag felmeddelandet med ett slash-tecken för mycket. Hur kommer det sig att querystringen försvunnit?
Else
Response.Write " Select to upload... <br><br>"
End If
Är det så att du först har med dig din variabel och sen postar din form?
Om du postar formen så går din variabel förlorad om du inte på nytt lägger med den i querystringen eller postar den i ett dolt fält etc.