Итак, в основном я хочу создать временный файл из содержимого строки base6. Прямо сейчас, я делаю это с собственными функциями java-io. Но я хотел бы добиться того же результата, используя библиотеку rapture-io для scala.Создайте временный файл из строки base64 с rapture-io
Так что мой вопрос будет, можно ли достичь этого с помощью восторга io, и если да, то как?
Я уже прошел через документации, но не достаточно конкретным:
https://github.com/propensive/rapture-io/blob/master/doc/introduction.md
Вот мой реальный код:
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
Привет! Спасибо за Ваш ответ! Код разбивается на строку «val tmpFile ...», получая: «Система не может найти указанный путь». Я под окнами env ... Должен ли я изменить это для любой другой папки/маршрута? Любая другая альтернатива, которая может работать для обоих? (Я планирую запустить это в Heroku) – mayacr86
См. Отредактированный ответ для непроверенного решения. Я предполагаю, что вам придется условно импортировать платформу на основе другой информации. Вы можете поместить платформу в файл конфигурации или отложить ее от запроса System.properties. Вы также можете условно создать файлUrl на основе типа платформы. – bearrito
Windows route действительно работал так, просто нужно было добавить ':' после 'C'. Но вот что ... Я создаю файл в своей папке «Temp», но все они «повреждены». Я предполагаю, что «данные» - это мое значение строки base64, правильно? («data» >> tmpFile) – mayacr86