Ciao a tutti.
Questo codice ASP, tramite l'upload di baol, crea una cartella e gli deposita al suo interno un file inviato in allegato , ma non registra correttamente nel campo della tabella il percorso cartella/file.
---Succede solamente quando il valore di arr_file(0) è nullo---![]()
Cioè nei campi A, B e C registra solo cartella di destinazione ma non il nome del file, cosa sbaglio?
Non so a priori quanti e quali files saranno inviati in upload, al massimo sono 3 ma possono essere zero, uno, due o tre.
codice:Function IsSet(Value) IsSet = Not IsNull(Value) And Value <> "" End Function Sub Write(Value) Response.Write Value End Sub Set oUpload = new cUpload With oUpload oUpload.Load If oUpload.Form("A") > "0" OR _ oUpload.Form("B") > "0" OR _ oUpload.Form("C") > "0" then strFolder = "/PUBLIC/Archivio/" & oUpload.Form("codice") & "" If IsSet(strFolder) Then oUpload.SetPath strFolder oUpload.AutoRename = true oUpload.Overwrite = false i = 0 Dim arr_file(3) oUpload.MoveFirst While Not .Eof oUpload.SaveAs oUpload.GetFileName file_uploaded = replace(oUpload.files("name"), "'", "''") & "." & oUpload.files("ext") arr_file(i) = file_uploaded i = i + 1 oUpload.MoveNext Wend End if End if End With strSQL = "UPDATE " strSQL = strSQL & " tbl_mp " strSQL = strSQL & " SET " if oUpload.Form("A") > "0" then strSQL = strSQL & " A = '" & strFolder & "/" & arr_file(0) & "', " else strSQL = strSQL & " A = '', " end if if oUpload.Form("B") > "0" then strSQL = strSQL & " B = '" & strFolder & "/" & arr_file(1) & "', " else strSQL = strSQL & " B = '', " end if if oUpload.Form("C") > "0" then strSQL = strSQL & " C = '" & strFolder & "/" & arr_file(2) & "' " else strSQL = strSQL & " C = '' " end if strSQL = strSQL & " WHERE " strSQL = strSQL & " ID = " & request.querystring("ID") cn.execute(strSQL)

Rispondi quotando
controlla come mai quella upload.form("A") NON è >"0" (anzi, fatti stampare COSA contiene...)
