[Gestione File] - Salvare un file su DiscoFisso

Buongiorno a tutti,

ho un “problema”, o forse una mancata conoscenza. La mia necessit e di salvare dei file ce ho caricato in una cartella interna a xojo nel hard disk.
I file possono essere immagini testi ecc… quindi di qualunque tipologia.

Stavo dando un occhiava al folder Item:

http://documentation.xojo.com/index.php/FolderItem

ma non mi spiega come scrivere su disco un file presente dentro al progetto di Xojo.

Qualcuno sa darmi una dritta?

Grazie e buon lavoro

non chiaro cosa intendi per cartella interna a Xojo

In generale per salvare un file as esempio sul desktop:
dim f as folderitem=specialFolder.Desktop.child(“fileDiTesto.txt”)

Oppure sul volume principale (tieni conto che in generale i sistemi operativi preferiscono salvare in cartelle particolari…)
dim f as folderitem=Volume(0).child(“fileDiTesto.txt”)

Il modo pi sicuro partire da una folderitem nota (Desktop,ApplicationData,Documents) e poi tramite child passare alla cartella annidata (se non c’ crearla) e cos via fino al file.

Oppure richiedere il file all’utente tramite SelectFolderDialog

Una volta che hai la tua folder item per scrivere un file di testo:
if f<>nil and f.IsWriteable then
dim t as TextOutputStream=TextOutputStream.Create(f)
t.Write … il tuo testo
end if

Fin qui ci sono… ma il file che voglio salvare lo prendo dall’interno del progetto.

In allegato lo screenshot…

Vorrei scaricare i file presenti nella cartella download che ho creato all’interno del progetto.

Se il file un’immagine allora una costante del progetto di tipo picture
Se un file di testo allora una costante di tipo testo
In ogni caso una costante

Ok, ora comincio a capire… scusa se ti faccio altre domande.

Questa costante di progetto posso trasformarla in Base64 e poi risalvarlo su disco nel formato corretto??

Ce l’ho fatta. posto il codice in caso serve a qualcuno… Carico i dati di un immagine inserita come variabile di progetto e salvo su file utilizzado il BinaryStream,


  Dim bs As BinaryStream
  Dim f As FolderItem = SpecialFolder.Desktop.child("provola.jpg")
  
  bs = BinaryStream.Create(f, True)
  
  If bs <> Nil Then
    
    bs.Write(IMG_2317.GetData(Picture.FormatPNG))
    
    bs.Close
  End If
  

Grazie ancora per il suggerimento

Si esatto