Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di legal-x
    Registrato dal
    Nov 2000
    Messaggi
    628

    Passare array in querystring

    Salve a tutti,

    premettendo che vengo da ASP 3.0, e mi sto accingendo a ASP.NET in VB ... mi serve risolvere un forse facile problema.

    In una pagina, attraverso un JS mando in querystring dei valori ad una pagina .net per fare l'upload.

    Una di queste variabili contiene le estensioni dei file tipo: .gif,.jpeg,.png,.jpg

    Nella pagina .net di upload creo un array tipo:

    Dim estensioni_consentite() As String = New String() {".gif",".jpeg",".jpg"}

    Inserendo ovviamene i valori come nella riga sopra, funziona, in realtà quello tra le graffe dovrei mandarlo dalla pagina precedente ... tipo:

    Dim estensioni_consentite() As String = New String() {context.Request("estensioni_consentite")}

    Ovviamente non funziona, probabilmente per i doppi apici ?

    Come posso risolvere ?
    Webplease.it WebAgency
    www.webplease.it

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Scusa la banalità, ma se metti in sessione l'array delle estensioni consentite e poi controlli che il file ne abbia una che ci rientri, prima del salvataggio ?

    codice:
    ASPX
            <asp:FileUpload ID="UpFile" runat="server" />
    
    Code-Behind:
            ' Controllo
            Dim nomefile As String = UpFile.PostedFile.FileName
            Dim estensione As String = Right(nomefile, 3)
    
            ' Qui controlli con un ciclo da "0 ad UBound(estensioni_consentite) -1" 
            ' che la variabile "estensione" sia nell'array di quelle consentite
            
            ' Se rientra, salvi
            UpFile.PostedFile.SaveAs("C:\FilesApplicazioni\Filesalvato." & estensione)

  3. #3
    Utente di HTML.it L'avatar di legal-x
    Registrato dal
    Nov 2000
    Messaggi
    628
    ciao djciko, grazie per la risposta.

    Ti spiego, non voglio usare sessioni ... ma banalmente passare delle variabile per la pagina di upload, anche abbastanza generiche, del tipo: cartella, estensioni consentite, dimensioni, ecc ... visto che questo avviene nella pagina di provenienza anche mediante AJAX e JS ... non volevo complicarmi la vita con le sessioni, che cmq dovrei distruggere o mi potrebbero creare altri problemi.

    Banalmente, visto che ci sono da poco su questo linguaggio, mi piacerebbe capire anche perchè faccio quel tipo di errore, sicuramente di sintassi ... me lo potresti spiegare ?
    Webplease.it WebAgency
    www.webplease.it

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Fammi capire:

    Nella pagina A decidi le estensioni e le mandi tramite querystring alla pagina B.
    Nella pagina B vuoi formare l'array e controllare se il file scelto dall'utente rientri nel consentito.

    Giusto ?

    Comunque, non funziona perchè la costruzione di un array non credo tu possa farla in quel modo (con Context.Request).

    Con un URL del tipo: paginaUpload.aspx?estensioni=gif,jpg,jpeg:
    codice:
            ' Creazione dell'array
            Dim qs as String = Request.QueryString("estensioni")
            Dim estensioni_consentite() As String = Split(qs, ",")
    L'array estensioni_consentite sarà:
    Elemento 0: gif
    Elemento 1: jpg
    Elemento 2: jpeg

    poi ti basterà giocare con PostedFile.Filename per vedere se rientra.

    Tutto cio' ovviamente se non esiste qualcosa (che al momento non ricordo) per settare da files di configurazione o altro, un filtro per le estensioni.

  5. #5
    Utente di HTML.it L'avatar di legal-x
    Registrato dal
    Nov 2000
    Messaggi
    628
    perfettissimo grazie mille ... il controllo nell'array lo faccio cosi:

    Dim trovato As Boolean = False

    codice:
    For i As Integer = LBound(estensioni_consentite) To UBound(estensioni_consentite)
       If InStr(1, filename, estensioni_consentite(i)) > 0 Then
       trovato = True
       exit for
       End If
    Next
    Era una fesseria, ma non c'avevo pensato ! grazie ancora !
    Webplease.it WebAgency
    www.webplease.it

  6. #6
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Originariamente inviato da legal-x
    Era una fesseria
    sono proprio quelle a cui non si pensa ciao

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 © 2025 vBulletin Solutions, Inc. All rights reserved.