Quindi, in pratica, voglio creare un file temporaneo da un contenuto di stringa base64. In questo momento, lo sto facendo con le funzioni native java-io. Ma mi piacerebbe ottenere lo stesso risultato usando la libreria rapture-io per scala.Creare un file temporaneo da una stringa base64 con rapture-io
Quindi la mia domanda sarebbe, è possibile ottenere questo con rapture-io, e se sì, come?
ho già andato attraverso la documentazione, ma non è abbastanza preciso:
https://github.com/propensive/rapture-io/blob/master/doc/introduction.md
Ecco il mio codice vero e proprio:
import org.apache.commons.codec.binary.Base64
import java.io.FileOutputStream
import java.io.File
val data: String = base64StringContent //Base64 String content of the file.
val fileName = myFileName
val fileExt = myFileExt
//It does write the file in my temp folder.
val file: File = File.createTempFile(fileName, fileExt)
val fileByteArray: Array[Byte] = Base64.decodeBase64(data)
val fileOutFile: FileOutputStream = new FileOutputStream(file)
fileOutFile.write(fileByteArray)
fileOutFile.close()
file.deleteOnExit()
file
Ciao! Grazie per la tua risposta! Il codice sta entrando nella riga "val tmpFile ...", ottenendo: "Il sistema non riesce a trovare il percorso specificato". Sono in windows env ... Devo cambiarlo per qualsiasi altra cartella/percorso? Qualche altra alternativa che potrebbe funzionare per entrambi gli Env? (Sto pensando di eseguirlo in Heroku) – mayacr86
Vedere la risposta modificata per una soluzione non testata. Immagino che dovrai importare condizionalmente la piattaforma basandoti su qualche altra informazione. È possibile inserire la piattaforma in un file di configurazione o basare la query su System.properties. È anche possibile creare in modo condizionale il fileUrl in base al tipo di piattaforma. – bearrito
Windows route funzionava così, bastava aggiungere ":" dopo la "C". Ma ecco la cosa ... È creare il file nella mia cartella 'Temp', ma tutti sono "corrotti". Suppongo che "data" sia il mio valore di stringa base64, giusto? ("dati" >> tmpFile) – mayacr86