Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Rinominare file durante upload

    Salve a tutti e buon anno.
    Ho un form da popolare con dei dati con anche il campo file per l'inserimento di un'immagine da caricare sul server e sul db.
    Come posso fare per attribuire un nome all'immagine che sia legato ad un indice dei dati che voglio uploaddare?
    Mi spiego, nel form ho questi campi:

    -nome_viaggio
    -descrizione_viaggio
    -data_partenza
    -data_ritorno
    -immagine

    Invio il form e di conseguenza il file al server (il cui nome va anche nel db). Il file voglio che venga rinominato in modo che sia legato agli altri valori e quindi al record stesso (creando in pratica un indice univoco legato al record), in modo che se in seguito l'immagine la voglio cambiare, la ricarico e me la rinomina sempre nello stesso modo (legata al record) sovrascivendo quella precedentemente caricata.
    Si potrebbe rinominare l'immagine con il numero dell'id del record, ma non posso rinominarla prima di aver passato i dati nel db, non so quale sarà il numero di id.

    Spero di essermi spiegato.

  2. #2
    prima di inserire i dati nel db, prendi l'ultimo id inserito nel db e lo assegni uguale a 'last_id', il nuovo id sarà uguale a 'last_id + 1'
    una cosa del genere dovrebbe funzionare:

    strSql = "SELECT max(id) AS ultimo_id FROM tabella"
    set rs = my_Conn.Execute (strSql)
    last_id = rs("ultimo_id")
    id_nuovo_record = last_id + 1

  3. #3
    In teoria avevo pensato la stessa cosa.
    Se però io vado a modificare il record esistente cercando di uploaddare un'immagine nuova, sostituendo quella esistente, in quel modo mi assegna all'immagine un nuovo id, che è diverso da quello del record.
    Potrei però creare una condizione che mi verifica la presenza o meno dell'immagine sul server, se la trova (quindi significa che sto modificando il record) rinomina la nuova immagine con il nome di quella esistente e fa l'upload, se non la trova (quindi sono in presenza di un nuovo record), assegna come nome quello dell'ultimo id inserito.
    Che ne dici?

  4. #4
    Originariamente inviato da Dirk Pitt
    Potrei però creare una condizione che mi verifica la presenza o meno dell'immagine sul server, se la trova (quindi significa che sto modificando il record) rinomina la nuova immagine con il nome di quella esistente e fa l'upload, se non la trova (quindi sono in presenza di un nuovo record), assegna come nome quello dell'ultimo id inserito.
    Che ne dici?
    non c'è bisogno di verificare se l'immagine è presente o meno.
    tu dovresti sapere già apriori se stai 'modificando' o 'inserendo', almeno credo. quindi, se si tratta di 'inserimento', recuperi l'id con quel metodo che ti avevo scritta nel post precedente e procedi all'insert utilizzando quel valore di id. se si tratta di 'modifica' dovresti già avere l'id del file da modificare, quindi procedi nell'update utilizzando proprio questo id.

  5. #5
    Hai ragione, ci ho pensato dopo.
    Grazie.

  6. #6
    di nulla, figurati

  7. #7
    Diciamo che quanto detto finora va bene e funziona.
    L'unico problema è che se nel db non ci sono record, come faccio a ricavare il numero di id che verrà?

  8. #8
    questa potrebbe essere una possibile soluzione:
    potresti prima far inserire tutti i dati tranne il nome dell'immagine, tramite un 'insert' all'interno del db. subito dopo, recuperare l'id del record appena inserito con il solito metodo e fare un'update inserendo nel db anche il nome dell'immagine.

  9. #9
    Quindi dici che il tutto è traducibile in due passaggi:
    - inserisco i dati nel db senza immagine;
    - inserisco l'immagine.

    Non c'è quindi modo di sapere l'id successivo in assenza di record.

  10. #10
    se l'immagine deve essere rinominata con un nuovo nome che corrisponde all'id del record credo che sia l'unica scelta.
    almeno che non ti crei una tabella di appoggio dove ogni volta che inserisci un nuovo record vai ad aggiornare il valore dell'id in questa tabella. in qualsiasi momento, in questo caso, per conoscere l'id successivo, ti basterà andare a leggere nella tabella di appoggio dove ci sarà sempre inserito il valore dell'ultimo id valido. l'id che ti serve a te sarà quell'id +1. spero di essermi spiegato bene.

    cmq, non capisco perchè il nome dell'immagine vuoi rinominarlo con l'id. non ce ne sarebbe neanche bisogno.

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.