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

    Eliminare l'estensione del file in un path

    Salve a tutti. Ho questo problema: ho creato, unendo diversi script asp tra di loro, un sito grazie al quale l'amministratore inserisce delle fatture in modo che i suoi clienti, ciascuno per la propria area protetta, se le possono scaricare direttamente dal web. L'amministratore inserisce la fattura sia in formato JPG (solo per farla visualizzare al suo cliente) che in formato PDF (che sarà quella che il cliente scaricherà). Poichè l'amministratore non vuole perdere tempo, occorre evitare che, data una certa fattura che chiamemremo PIPPO, egli debba nominare i files PIPPO.JPG e PIPPO.JPG.PDF, ma semplicemente dovrà nominarli PIPPO.JPG e PIPPO.PDF.
    Il problema consiste nel fatto che, avendo l'oggetto "item" che indica il path intero del JPG, non riesco a creare un link che sostituisca l'estensione JPG con quella PDF, ma riesco solo a fare
    aggiungere l'estensione PDF a quella JPG. Propongo il codice:
    codice:
    Prt ("Per scaricare la fattura " & request("Filename") & " in formato PDF, 
    cliccaci sopra
    con il tasto sinistro del mouse.
    In caso di difficoltà, cliccaci sopra con il tasto destro e poi
    clicca sull'opzione 
    <u>Salva OGGETTO con nome</u> (Internet Explorer) o <u>Salva DESTINAZIONE
    con nome</u> (Mozilla Firefox).
    
    ")
    Prt ("<a href=""")
    Prt "" & request("item") & ""
    Prt (".pdf"" target=""_blank"">")
    Prt ("[img][/img]</a>")
    dove "Filename" è il nome del file JPG e "item" è il path intero del file JPG. Quindi, come stanno le cose adesso, il link sarà al file PIPPO.JPG.PDF, mentre io vorrei che si potesse fare il link a PIPPO.PDF. Occorrerebbe, cioè, un comando che mi dia la possibilità di linkare a "item" eliminando gli utlimi 4 caratteri (.jpg), in modo che il penultimo PRT aggiunga l'estensione .PDF direttamente a PIPPO e non a PIPPO.JPG.
    E' possibile? Grazie in anticipo a chiunque potrà aiutarmi.

  2. #2
    la maniera spartana è

    codice:
    dim stringa
    
    stringa = "PIPPO.JPG"
    
    response.write left(stringa,len(stringa)-4) & ".PDF"
    poi ci può essere una maniera più elegante con un replace (se conosci l'estensione di partenza)

    codice:
    dim stringa
    
    stringa = "PIPPO.JPG"
    
    response.write repace(stringa,".JPG",".PDF")
    e poi la maniera migliore e più flessibile con le regularexpression

    codice:
    Dim objRegExp
    Set objRegExp = New Regexp
    objRegExp.IgnoreCase = True
    objRegExp.Global = True
    objRegExp.Pattern = "[.][^.]+$"
    dim stringa, matches
    stringa = "PIPPO.JPG"
    stringa = objRegExp.replace(stringa,".PDF")
    set objRegExp = Nothing
    
    response.write stringa
    ----------------------------------

    per farli funzionare al posto di STRINGA usa request("item")
    e avrai come risposta il nome modificato
    san imente saluta

    * http://simonecingano.it *

  3. #3
    Grazie mille! Provo prima la flessibile, poi l'elegante e poi, se proprio sono negato, la spartana!

  4. #4
    Scusa, c'è solo una cosa ancora: PIPPO.JPG è il nome di un solo file delle tante fatture che ci sono. Cosa ci inserisco al suo posto, "Filename"? O che altro?
    Grazie

  5. #5
    puoi dargli quello che vuoi

    il sistema ti chiede una stringa...

    e da

    QUALCOSA.QUALCOSA

    te lo fa diventare

    QUALCOSA.PDF

    se modifichi il punto in cui c'è scritto PDF
    puoi farlo diventare di che estensione vuoi

    clear?

    ora esco...
    se hai problemi ti rispondo dopo

    semmai ti faccio una funzione
    in cui tu metti
    nomefileoriginale, nuovaestensione
    e lui ti sputa il nuovo nome

    così è più semplice e comodo
    san imente saluta

    * http://simonecingano.it *

  6. #6
    O.K. Grazie mille. Sei stato gentilissimo. (aspetto la funzione...)

  7. #7
    Ahimè, mi da un errore:

    Errore di compilazione di Microsoft VBScript error '800a0402'

    Prevista costante Integer

    /online_photo_catalog_vbscript.asp, line 555

    Dim request("item")
    ------------^

  8. #8
    Comunque quello che volevo dire è che non posso inserire PIPPO.JPG in quanto questo è il nome di una fattura. A me occorre inserire, al posto di PIPPO.JPG un comando che mi individui quella fattura, tra tante, che il cliente sta visionando in quel momento. Altrimenti qualsaisi fattura egli stia visionando, scaricherà sempre PIPPO.PDF

  9. #9
    Problema risolto! Ho modificato un pochino il codice della "soluzione flessibile" e tutto è andato a posto. Ancora grazie mille, sei stato prezioso. Ciao.

  10. #10
    funzione

    codice:
    function replaceExtension(filename, newextension)
      Dim objRegExp
      Set objRegExp = New Regexp
      objRegExp.IgnoreCase = True
      objRegExp.Global = True
      objRegExp.Pattern = "[.][^.]+$"
      dim matches
      filename = objRegExp.replace(filename,"." & newextension)
      set objRegExp = Nothing
    
      replaceExtension = filename
    end function
    
    response.write replaceExtension("PIPPO.JPG","PDF")
    tu ti metti la funzione dove vuoi nella pagina
    poi la richiami con quell'ultima riga, dove vuoi e come vuoi

    il primo parametro è il nome del file originale, il secondo è l'estensione nuova da dare...

    ------

    di nulla

    ciao
    san imente saluta

    * http://simonecingano.it *

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.