Создайте временный файл из строки base64 с помощью Rapture-IO
Итак, в основном я хочу создать временный файл из содержимого строки base64. Прямо сейчас я делаю это с родными функциями Java-IO. Но я бы хотел добиться того же результата, используя библиотеку Rapture-Io для Scala.
Таким образом, мой вопрос был бы : возможно ли достичь этого с восторгом, и если да, то как?
Я уже просмотрел документацию, но не достаточно конкретно:
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
1 ответ
Решение
Это работает для вас?
import rapture.fs.platform.posix
import rapture.io._
import rapture.core._
import rapture.fs._
import strategy.throwExceptions
val tmpFile = (File / "tmp").tempFile(prefix = "yourfileName",suffix = ".extension")
"data" >> tmpFile
tmpFile.deleteOnExit()
tmpFile.delete()
Не проверено на Windows. Возможно, вам придется использовать другой разделитель, например, \\ вместо /
import rapture.fs.platform.windows
import rapture.io._
import rapture.core._
import rapture.fs._
import strategy.throwExceptions
val tmpFile = (File / "C:" / "Windows" / "Temp" ).tempFile(prefix = "yourfileName",suffix = ".extension")
"data" >> tmpFile
tmpFile.deleteOnExit()
tmpFile.delete()