n° 219
Novembre 2017
Dicembre 12, 2017, 06:44:10 *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizia:
 
   Indice   Linux Windows Techassistance Gameassistance videogame hardware Aiuto Ricerca Agenda Downloads Accedi Registrati  


* Messaggi recenti
Messaggi recenti
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: ASP - Problema con l'upload dei file  (Letto 7030 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
Massimo8889
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 20


Mostra profilo
« inserita:: Dicembre 17, 2006, 08:40:10 »

Salve gente di ioProgrammo!
Ho un paio di problemi con l\'upload dei file in ASP...

Per effettuare l\'upload, siccome il server non ha al suo interno installato l\'oggetto SmartUpload, utilizzo un file chiamato upload.asp che permette il caricamento senza dll.

Il problema arriva quando lo richiamo. Felice
Il server mi da errore quando tento di richiamare la funzione MidB.

In particolare scrive questo:
----------------------------------------------
Microsoft VBScript runtime error \'800a0005\'

Invalid procedure call or argument: \'MidB\'

/public/upload.asp, line 4
----------------------------------------------

Cosa devo fare? Mi aiutate? Eh?  Felice
Ringrazio in anticipo!
Registrato

Goggogo!
Massimo8889
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 20


Mostra profilo
« Risposta #1 inserita:: Dicembre 18, 2006, 08:39:54 »

Citazione
Postato originariamente da Massimo8889
Salve gente di ioProgrammo!
Ho un paio di problemi con l\'upload dei file in ASP...

Per effettuare l\'upload, siccome il server non ha al suo interno installato l\'oggetto SmartUpload, utilizzo un file chiamato upload.asp che permette il caricamento senza dll.

Il problema arriva quando lo richiamo. Felice
Il server mi da errore quando tento di richiamare la funzione MidB.

In particolare scrive questo:
----------------------------------------------
Microsoft VBScript runtime error \'800a0005\'

Invalid procedure call or argument: \'MidB\'

/public/upload.asp, line 4
----------------------------------------------

Cosa devo fare? Mi aiutate? Eh?  Felice
Ringrazio in anticipo!


Scusate tutta \'sta caciara! Ho risolto il problema! Felice
Registrato

Goggogo!
giobe2000
Newbie
*

Karma: +3/-0
Scollegato Scollegato

Messaggi: 4


Potrebbe andar peggio ...


Mostra profilo WWW E-mail
« Risposta #2 inserita:: Febbraio 11, 2012, 04:52:02 »

Massimo8899, come hai  risolto?

Il mio codice HTML che attiva il servizio di UpLoad è molto semplice ...
Citazione
       <FORM METHOD="Post" ENCTYPE="multipart/form-data" ACTION="LoadFile.asp">
          <p align="center">
          <font face="Verdana" size="2">File :
          <INPUT TYPE="file" NAME="blob"><BR>
          <INPUT TYPE="submit" NAME="Enter">
          </font>
        </FORM>
... e quello da esso richiamato,  "LoadFile.asp", che gestisce il trasferimento ...
Citazione
 <%  
  ........... omissis ............
  For i = 1 to LenB(value)
    MyFile.Write chr(AscB(MidB(value,i,1)))
  Next
  MyFile.Close
  %>
.. funziona benone, così com'è, ma se si apportano modifiche (irrilevanti per il codice che esegue il compito di Upload, come l'agiunta di altro codice HTML per la visualizzazione di un "messaggio di chiusura") provvede comunque al UpLoad ( .. il file richiesto è caricato correttamente ed è effettivamente presente nella cartella destinazione) , ma si blocca nella fase finale, non consentendo la visualizzazione del messaggio di chiusura stesso e segnalando l'errore che massacrava anche te ...
Citazione
Microsoft VBScript runtime error '800a0005'
Invalid procedure call or argument
/LoadFile.asp, line 75
... dovuto alla linea di codice ASP
Citazione
     MyFile.Write chr(AscB(MidB(value,i,1)))
PS: ho provato a togliere tutto il ciclo (For i=1 to LenB(value) --> MyFile.Write chr(AscB(MidB(value,i,1))) --> Next) è tutto sembra funzionare regolarmente (nel senso che il nome e l'estensione del file richiesto figurano nella cartella destinazione, ma ovviamente è un file inutilizzabile, di dimesione 0 kbytes).
Mi piacerebbe capire perchè quell'istruzione Write chr(AscB(MidB(value,i,1))) del mio MyFile non funziona ..
Grazie per l'eventuale aiuto !!
Registrato

http://www.giobe2000.it - Vuoi conoscere i meccanismi segreti che governano il funzionamento del tuo computer?
Questo sito ci prova, con parole semplici per tutti, ma anche con approfondimenti e tecniche di progetto adatte a palati più esigenti.
Analisi, trucchi, tutorial, progetti, programmazione
giobe2000
Newbie
*

Karma: +3/-0
Scollegato Scollegato

Messaggi: 4


Potrebbe andar peggio ...


Mostra profilo WWW E-mail
« Risposta #3 inserita:: Febbraio 11, 2012, 05:55:24 »

Cercando di capire, rileggendo il codice ASP originale (che posto ora nella sua completezza)  ...
Citazione
<%Response.Expires=0
  Response.Buffer = TRUE
  Response.Clear
  byteCount = Request.TotalBytes
  RequestBin = Request.BinaryRead(byteCount)
  Dim UploadRequest
  Set UploadRequest = CreateObject("Scripting.Dictionary")
  BuildUploadRequest  RequestBin
  contentType = UploadRequest.Item("blob").Item("ContentType")
  filepathname = UploadRequest.Item("blob").Item("FileName")
  filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
  value = UploadRequest.Item("blob").Item("Value")
  'Create FileSytemObject Component
  Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
  'Create and Write to a File
  pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
  Set MyFile = ScriptObject.CreateTextFile(Left(Server.mappath(Request.ServerVariables("PATH_INFO")),pathEnd) & filename)
  For i = 1 to LenB(value)                        
     MyFile.Write chr(AscB(MidB(value,i,1)))
  Next
  MyFile.Close%>
... mi è sembrato di intuire che esso funziona SOLO per caricare file di tipo testo (.txt) almeno a giudicare dall'istruzione (a 5 righe dal fondo) che mi sembra stabilisca il tipo di file da creare ..
Citazione
 Set MyFile = ScriptObject.CreateTextFile(Left(Server.mappath(Request.ServerVariables("PATH_INFO")),pathEnd) & filename)
Ho fatto delle prove e effettivamente tutto funziona perfettamente se i files da sottoporre a Upload sono di tipo txt: in arrivo si possono aprire regolarmente e visualizzare con normali editor) ; ogni altro tipo di file viene comunque scaricato sul sito ( .. si ha la consapevolezza di dover attendere un tempo proporzionale alla sua dimensione), ma il programma di gestione si interrompe con l'errore  segnalato (oggetto di questo post) , cioè senza la possibilità di terminare le operazioni con il giusto messaggio di chiusura, e SOPRATTUTTO il file trovato nella cartella di download, pur avendo la dimensione corretta, è inutilizzabile (cioè non viene aperto da word se DOC, o da acrobat se PDF, o da visualizzatori se JPG o altra grafica, ecc.) perchè trasferito con errori.
Ora il problema sembra più chiaro!! Qualcuno sa correggere "Set MyFile = ScriptObject.CreateTextFile(.. .. .. " per rendere operativo questo codice con tutti i tipi di files?
Grazie ..
Registrato

http://www.giobe2000.it - Vuoi conoscere i meccanismi segreti che governano il funzionamento del tuo computer?
Questo sito ci prova, con parole semplici per tutti, ma anche con approfondimenti e tecniche di progetto adatte a palati più esigenti.
Analisi, trucchi, tutorial, progetti, programmazione
Pagine: [1]   Vai su
  Stampa  
 
Vai a:  

Copyright © 2017 Edizioni Master SpA. p.iva : 02105820787

Tutti i diritti di proprietà letteraria e artistica riservati. - Privacy



powered by Simple Machines