274 messaggi dal 21 luglio 2001
come faccio a memorizzare dei campi in un database nel momento in cui faccio un upload....
visto che mi da questo errore
Oggetto Request errore "ASP 0206 : 80004005"
Impossibile richiamare il metodo BinaryRead
/include/upload.asp, riga 10
Impossibile richiamare il metodo BinaryRead dopo aver utilizzato l'insieme Request.Form.
sapendo che non posso usare un Request.Form se utilizzo un Request.Binary.... ?????
grazie 1000 !!!
sotto vi allego lo script dell'upload !!!!

<%
percorso = "../image/user/user"
ByteRicevuti = Request.TotalBytes
if ByteRicevuti > 0 then
DatiRicevuti = Request.BinaryRead(ByteRicevuti)
For i = 1 To lenB(DatiRicevuti)
FileBinario = FileBinario & chr(ascB(midB(DatiRicevuti,i,1)))
Next
FirmaFile = left(FileBinario,instr(FileBinario,"" & vbCrLf)-1)
ArrPezzi = split(FileBinario,FirmaFile)

for item = 1 to ubound(ArrPezzi)-1
Inizio = instr(ArrPezzi(item),"" & vbCrLf & "" & vbCrLf)
Intestazione = left(ArrPezzi(item),Inizio-1)
Inizio = Inizio + len("" & vbCrLf) + len("" & vbCrLf)
ContenutoFile = mid(ArrPezzi(item),Inizio,len(ArrPezzi(item))-Inizio-1)

if instr(Intestazione,"file1") > 0 then
i = instr(Intestazione,"filename=")
j = instr(i + 10,Intestazione,chr(34))
NomeUpload = mid(Intestazione,i + 10,j-i-10)
i = instrRev(NomeUpload,"\")
if i<>0 then
NomeFile = mid(NomeUpload,i + 1)
else
NomeFile = NomeUpload
end if
if i<>0 then
Set FSO = CreateObject("Scripting.FileSystemObject")
Upload1 = True
DimensioneFile1 = len(ContenutoFile)
EstensioneFile1 = right(ContenutoFile,3)
NomeFile1 = NomeFile
Set textStream = FSO.CreateTextFile(server.mappath(percorso & NomeFile1), True, False)
textStream.Write ContenutoFile
textStream.Close
Set textStream = Nothing
Set FSO = Nothing
end if
end if
next
If Upload1 = true then
End If
End If
End if
%>

:-)
879 messaggi dal 09 luglio 2002
www.i-studio.it
Ciao,
dallla documentazione MS si legge che non puoi usare contemporaneamente il BinaryRead e il Request.Form.

Credo che tu abbia due possibilita':
1) usi un componente specifico per l'upload (ad es. ti suggerisco aspSmartUpload che trovi all'indirizzo http://www.aspsmart.com/aspSmartUpload/) che ti permette (con i suoi metodi) di leggere sia il contenuto del campo di tipo "file" che degli altri

2) Visto che la BinaryRead inserisce tutto il contenuto del flusso di dati in un Array, dovresti provare a vedere se in questo array ci sono anche i dati degli altri campi.

Ciao
Alex

Internetworking Studio Srl
www.i-studio.it
274 messaggi dal 21 luglio 2001
CHI HA REALIZZATO LO SCRIPT MI HA DETTO DI USARE QUESTA FUNZIONE :

if instr(Intestazione,"username") > 0 then
username = ContenutoFile
end if

MA LA DOMANDA E' : ?? COME FACCIO POI AMANDARI I DATI IN UN DATABASE ??

IO USAVO QUESTO MA ORA NON POSSO PIU ..
if not rs.eof then
'se trovi il valore nel campo nome
response.write "Nome utente già presente nel database"
else
username = Request.QueryString("username")
'password = Request.QueryString("password")
'email = Request.QueryString("email")
'sesso = Request.QueryString("sesso")
'impiego = Request.QueryString("impiego")
'anni = Request.QueryString("anni")
'citta = Request.QueryString("citta")
'indirizzo = Request.QueryString("indirizzo")
'cap = Request.QueryString("cap")
'recapito = Request.QueryString("recapito")
'recapito2 = Request.QueryString("recapito2")
'hobby = Request.QueryString("hobby")
'data = now()
'percorso = Request.QueryString("foto")
'ip = Request.servervariables("SERVER_NAME")

rs.AddNew

'if instr(Intestazione,"username") > 0 then
'username = ContenutoFile
'end if

'rs("username") = Request.QueryString("username")
'rs("username") = Request.form("username")
'rs("password") = Request.form("password")
'rs("email") = Request.form("email")
'rs("sesso") = Request.form("sesso")
'rs("impiego") = Request.form("impiego")
'rs("anni") = Request.form("anni")
'rs("citta") = Request.form("citta")
'rs("indirizzo") = Request.form("indirizzo")
'rs("cap") = Request.form("cap")
'rs("recapito") = Request.form("recapito")
'rs("recapito2") = Request.form("recapito2")
'rs("hobby") = Request.form("hobby")
'rs("IP") = Request.servervariables("SERVER_NAME")

rs.Update
rs.Close

:-)
12 messaggi dal 18 giugno 2001
Io ho risolto il problema "addomesticando" uno script (che non è un componente esterno) che ho trovato in rete all'URL http://www.byluciani.com/public/asp/visualizza.asp?sezione=pratica&ID=3&titolo=UPLOAD - Gestiamo i nostri upload con VBScript

Ti riporto una mia pagina "action" in cui vedi questo mio "addomesticamento":

<%@ LANGUAGE="VBSCRIPT" %>
<!--#include file="../../adovbs.inc" -->

<%
Response.Expires = 0
Response.buffer = true
%>
<!--#include file="class_upload.asp" -->
<%
'Creiamo l'oggetto FileUploader ed assegnamogli il nome Uploader
Dim Uploader, File
Set Uploader = New FileUploader

'Impostiamo la dimensione max del file in byte
Uploader.maxSize = 1000000 '100kb

'Impostiamo il tipo di file ammessi
Uploader.fileExt = "jpg,gif,bmp"

'Iniziamo il processo di upload
Uploader.Upload()

'Recuperiamo i campi del form

p_aggiornamento = Uploader.form("p_aggiornamento")
p_sommario = Uploader.form("p_sommario")
p_titolo = Uploader.form("p_titolo")
p_testo = Uploader.form("p_testo")
p_nomefilefoto = Uploader.form("p_nomefilefoto")
v_nomefilefoto = Uploader.form("v_nomefilefoto")
p_stessofile = Uploader.form("p_stessofile")
p_existing = Uploader.form("p_existing")

'Visualizziamoli
%>

<!--#include file="../../ssi/connectionDb.inc" -->

<%
set tableSet = Server.CreateObject("ADODB.RecordSet")
tableSet.Open "news", conn, adOpenDynamic, adLockOptimistic, adCmdTable

if p_stessofile <> "True" then

'For each file In mySmartUpload.Files
For Each File In Uploader.Files.Items

'If not file.IsMissing Then
strPath = Server.MapPath("..\..\images\news") & "\"
File.SaveToDisk strPath

'intCount = mySmartUpload.Save("../../images")

Name = file.FileName

p_p_nomefilefoto = Name

Next

Else

p_p_nomefilefoto = p_nomefilefoto

End if

if p_existing = "" then
tableSet.AddNew

else
tableSet.Find "ID =" & p_existing
end if

tableSet("aggiornamento") = p_aggiornamento
tableSet("titolo") = p_titolo
tableSet("sommario") = p_sommario
tableSet("testo") = p_testo
tableSet("nomefilefoto") = p_p_nomefilefoto
tableSet.Update
tableSet.Close
set tableSet = Nothing
%>

<!--#include file="../../ssi/endconnectionDb.inc" -->

<%
Response.Clear

Response.Redirect "default.asp"
%>

879 messaggi dal 09 luglio 2002
www.i-studio.it
Ciao,
scusa ma c'e' qualcosa che mi sfugge.... Non capisco se hai effettivamente la necessita' di fare un upload di un file (tipo un documento, un'immagine, ecc.)...
Dallo script che vedo non mi sembra...
Puoi spiegare meglio la cosa?

Ciao
Alex

Internetworking Studio Srl
www.i-studio.it
274 messaggi dal 21 luglio 2001
allora..
io devo uplodare un'immagine perche ho una pagina dove l'utente fa la registrazione al sito con i propri dati e questi vengoni...anzi venivano inseriti in un database access....
mi piaceva fa in modo che oltre ad inserire i dati potessero inserire e quindi uplodare la propria foro....

ma con il codice che ti ho scritto prima riesco solo a uplodare l'immagine e non riesco piu a mandare i dati al mio database !!!

puoi aiutarmi ???
posso postarti il codice dell'upload e il codice dove inserisco i dati nel mio database...


:-)
879 messaggi dal 09 luglio 2002
www.i-studio.it
Ciao,
se puoi usare dei componenti esterni, ti consiglio di usare aspSmartUpload che trovi all'indirizzo http://www.aspsmart.com/aspSmartUpload/.
Si tratta di un ottimo componente che ha una serie di "metodi" per fare tutto quello che vuoi.

Prima di procedere, dimmi se puoi installarlo.

Ciao
Alex

Internetworking Studio Srl
www.i-studio.it
274 messaggi dal 21 luglio 2001
purtroppo non posso !!!

:-)

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.