Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 28

Discussione: upload file multiplo

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2021
    Messaggi
    15

    upload file multiplo

    Ciao,
    ho un problema con l'upload del file da ASP Classic.
    Sto mettendo mando ad una cosa molto vecchia, che funziona,ma devo apportare delle modifiche.
    Oltre a salvare le immagini vado a salvare il nome del file all'interno di un db.
    Non ho problemi a salvare le immagini nel disco, il problema è che ho diverse immagini di caricare contemporaneamente.. e con il codice che vi riporto sotto, non capisco quale file sta caricando.


    PAGINA DI UPLOAD
    Nella mia pagina HTML ho 3 type file
    <input type="file" name="FILE1">
    <input type="file" name="FILE2">
    <input type="file" name="FILE3">


    PAGINA DI SALVATAGGIO
    Nella pagina ricevente che mi permette salvare ho questo codice


    If Uploader.Files.Count = 0 Then
    Response.Write "File NON salvato"
    Else
    ' Loop through the uploaded files
    For Each File In Uploader.Files.Items


    'Save the file
    File.SaveToDisk Server.MapPath ("public\")


    Next


    end if

    IN ALLEGATO IL FILE UPLOAD.ASP
    File che contiene le classi per effettuare upload



    In questo modo viene fatto un ciclo per tutte le tipologie di file, ma non capisco quale sia il file che viene uploadato per ogni ciclo.


    Mi sapete aiutare per favore ?
    Non so proprio come fare, ma penso di perdermi in un bicchiere di acqua


    Grazie

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,029
    ammesso che tu non abbia un problema di rinomina del file (volontaria o automatica che sia),
    ti basta recuperare il nome del file (o il suo percorso) giusto dopo
    codice:
    File.SaveToDisk Server.MapPath ("public\")


    se invece, durante il salvataggio, il file può cambiare nome automaticamente (ad esempio inserendo una variabile nel nome per non sovrascrivere un file esistente), allora ti devi occupare del processo di assegnazione del nome durante il salvataggio; e conservare il nome per inserirlo nel DB.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2021
    Messaggi
    15
    Ciao,
    grazie della celere risposta.

    Io ho una gestione di cambio nome del file.. questo non è un problema.

    Il vero problema è proprio il file fatto che quel tipo di ciclo recupera non tiene conto di quali type=file vengono valorizzati.

    Vedo di spiegarmi
    Io ho questi type=flle nell'html
    <input type="file" name="FILE1">
    <input type="file" name="FILE2">
    <input type="file" name="FILE3">

    Se dovesse venire valorizzato il file2 io non riesco a capirlo.
    Il sistema farebbe l'upload ma io ho necessità di capire quale file sta uploadando

    Non so se mi sono spiegato?

  4. #4
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,029
    devi conoscere a priori il nome del campo valorizzato?

    potrebbe esserti utile una condizione tipo questa?
    codice:
    if upload.Key(i)="FILE1" then ' ecc ecc

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2021
    Messaggi
    15
    Quote Originariamente inviata da Vincent.Zeno Visualizza il messaggio
    devi conoscere a priori il nome del campo valorizzato?

    potrebbe esserti utile una condizione tipo questa?
    codice:
    if upload.Key(i)="FILE1" then ' ecc ecc
    Non proprio.
    Immaginiamo di valorizzare il solo file2 e file3 di questi 3
    <input type="file" name="FILE1">
    <input type="file" name="FILE2">
    <input type="file" name="FILE3">

    Il ciclo capirà che ci sono solo 2 file da uploadare,ma il primo che viene uploadato sarà il file2 ed il secondo è il file3
    Se verifico che sia pieno il campo succederà questo

    if Uploader.Form("FILE1") <> "" then
    Response.Write "File1"
    end if

    if Uploader.Form("FILE2") <> "" then
    Response.Write "File2"
    end if

    if Uploader.Form("FILE3") <> "" then
    Response.Write "File3"
    end if


    Già dal primo ciclo il ciclo saprà che file2 e file3 è valorizzato, ma non capirò esattamente quale sta uplodonado.

    Il campo di upload è indipendente dal ciclo.. come faccio a controllarlo ?
    Il ciclo fa una verifica appunto di tutti i campi type=file a prescindere

  6. #6
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,029
    il ciclo fa una cosa alla volta (se no che "ciclo" è ), se gli passi il nome del campo non si può confondere

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2021
    Messaggi
    15
    Già

    Il problema è che io non sono capace proprio a recuperare il nome del campo che sta uploadando in quella fase di ciclo.

    Se io metto questo codice dentro nel ciclo
    if file1_text <> "" then
    Response.Write "<br>File1: " & file1_text
    Response.Write "<br>Contatore: " & contatorefile
    end if

    if file2_text <> "" then
    Response.Write "<br>File2: " & file2_text
    Response.Write "<br>Contatore: " & contatorefile
    end if

    if file3_text <> "" then
    Response.Write "<br>File3: " & file3_text
    Response.Write "<br>Contatore: " & contatorefile
    end if

    restituisce questo risultato


    PRIMO CICLO
    File1: C:\fakepath\1.jpg

    Contatore: 1
    File3: C:\fakepath\3.jpg
    Contatore: 1

    SECODO CICLO
    File1: C:\fakepath\1.jpg
    Contatore: 2
    File3: C:\fakepath\3.jpg
    Contatore: 2

    Nel senso controlla che entrambi i campi sono vuoti ed espone immediatamente il risultato.
    Ma in questo modo non capisco quale campo sta realmente facendo.
    Controllando se il campo è pieno o meno passa nell'IF ogni volta

    Aiutoooooo

  8. #8
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,029
    prova con Uploader.Form.key, ti restituisce il nome del campo

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2021
    Messaggi
    15
    Response.Write "FormKey: " & Uploader.Form.key

    Mi restituisce questo

    • Tipo di errore:
      Errore di run-time di Microsoft VBScript (0x800A01C2)
      Numero errato di argomenti o assegnazione di proprietà non valida: 'Form'
      /miei/cswm/salvamultiplo.asp, line 87
    • Tipo di browser:
      Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36
    • Pagina:
      POST 12251 bytes to /miei/cswm/salvamultiplo.asp
    • POST Data:
      error '80020009'Eccezione.
      /iisHelp/common/500-100.asp, line 222

  10. #10
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,029
    prova solo Uploader.key

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2021 vBulletin Solutions, Inc. All rights reserved.