Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it L'avatar di colde
    Registrato dal
    Feb 2001
    Messaggi
    1,802

    Salvare un file da indirizzo IP a locale

    Ciao a tutti,
    vorrei salvare in locale un file che si trova su una macchina diversa accedendo attraverso un collegamento tramite IP. Mi spiego meglio:
    con il client mi collego tramite IP ad un PC in remoto che contiene alcuni files, questi file dovrei salvarli in locale manualmente, l'utente clicca sul testo che corrisponde al nome del file e il sistema dovrebbe copiare il file in locale.

    Per ora ho provato così ma non funziona, non da errori ma non salva una mazza:

    CopyFile('http://'+indirizzoIP+'/race_data/RACE0008.csv', 'DataRace\NEWNAME.csv', true)

    Sapete darmi qualche aiuto?
    Grazie
    www.beppegrillo.it
    Il blog di Beppe!!

  2. #2
    non puoi farlo così, deve usare o Indy o Synapse, io uso quest'ultima unit ftpsend (se lo fai via ftp)

    res := FtpGetFile(host,
    '21',
    remote_adr ,
    locale_adr ,
    User,
    psw);

    ciao
    sergio

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,461
    Se non c'è un Web Server installato su quella macchina, è difficile che tu possa ottenere qualcosa via HTTP.

    La CopyFile lavora a livello di file system, non preleva file usando il protocollo HTTP.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Lo puoi fare trasferendo via TCP/IP senza http o FTP... Indy ha un metodo "writeBuffer" o qualcosa del genere con cui puoi spedire dati in generale.
    Io l'ho fatto una volta ma adesso nn ti so dire che metodo avevo utilizzato.

    Ciao

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,461
    Originariamente inviato da Nikk11
    Lo puoi fare trasferendo via TCP/IP senza http o FTP... Indy ha un metodo "writeBuffer" o qualcosa del genere con cui puoi spedire dati in generale.
    Io l'ho fatto una volta ma adesso nn ti so dire che metodo avevo utilizzato.
    Lo puoi fare solo se dall'altra parte c'è un server HTTP, FTP o "custom" in ascolto.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  6. #6
    Utente di HTML.it L'avatar di colde
    Registrato dal
    Feb 2001
    Messaggi
    1,802
    il Server HTTP dovrebbe esserci, l'FTP no. Potete dirmi il giusto metodo? Almeno provo.
    www.beppegrillo.it
    Il blog di Beppe!!

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,461
    Originariamente inviato da colde
    il Server HTTP dovrebbe esserci, l'FTP no. Potete dirmi il giusto metodo? Almeno provo.
    Non è possibile prelevare un file specificando l'indirizzo fisico. Avendo a disposizione un server HTTP, è necessario creare un sito o predisporre una directory virtuale in cui memorizzare il file.

    Se indicando l'indirizzo del sito unitamente al percorso del file da scaricare relativo alla radice (la directory a cui fa riferimento il sito) all'interno di un browser (IE o Firefox), il file viene scaricato, sarà possibile fare la stessa cosa anche con qualsiasi componente o libreria sia in grado di inoltrare una richiesta di GET ad un server HTTP e memorizzare la risposta (in questo caso, il file); ad esempio, usando il componente TIdHTTP.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  8. #8
    Utente di HTML.it L'avatar di colde
    Registrato dal
    Feb 2001
    Messaggi
    1,802
    Provo a specificare meglio il problema:

    ho un file txt che contiene diversi dati tra cui il nome del rispettivo file CSV; ogni riga presente nel file txt corrisponde ad un file CSV e il mio obiettivo è recuperare tutte le righe dal file txt inserendole in una StringGrid. Questa StringGrid è formata da due colonne e da N righe; quest'ultime vengono generate automaticamente in base al numero delle righe presenti nel file txt. Una colonna della StringGrid quindi contiene ogni singola riga del file txt mentre la seconda colonna dovrebbe contenere un link per scaricare il file CSV relativo oppure per cancellarlo.

    L'elenco delle righe presenti nel file txt le ho già caricate nella StringGrid ma la creazione del link per scaricare o eliminare il file CSV è ancora in alto mare. I file CSV dovranno rimanere integri così come sono poichè verranno utilizzati per importare i dati in un DB.
    www.beppegrillo.it
    Il blog di Beppe!!

  9. #9
    Utente di HTML.it L'avatar di colde
    Registrato dal
    Feb 2001
    Messaggi
    1,802
    Originariamente inviato da alka
    Non è possibile prelevare un file specificando l'indirizzo fisico. Avendo a disposizione un server HTTP, è necessario creare un sito o predisporre una directory virtuale in cui memorizzare il file.

    Se indicando l'indirizzo del sito unitamente al percorso del file da scaricare relativo alla radice (la directory a cui fa riferimento il sito) all'interno di un browser (IE o Firefox), il file viene scaricato, sarà possibile fare la stessa cosa anche con qualsiasi componente o libreria sia in grado di inoltrare una richiesta di GET ad un server HTTP e memorizzare la risposta (in questo caso, il file); ad esempio, usando il componente TIdHTTP.
    Infatti ho usato IdHTTP.Get per prelevare il file e visualizzarlo in un label (solo come prova) ma a me servirebbe salvarlo come file CSV in locale senza modificarne il contenuto nè la forma.
    www.beppegrillo.it
    Il blog di Beppe!!

  10. #10
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,461
    Ho capito pressapoco ciò che l'applicazione deve fare, ma se i file su cui devi lavorare non sono raggiungibili attraverso una condivisione di rete bensì tramite HTTP, ci deve essere un server che accetta le richieste HTTP e le elabora di conseguenza, ad esempio restituendo il file richiesto o provvedendo alla sua cancellazione.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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.