diff --git a/client/src/main/kotlin/org/hso/texturesyncclient/controller/Controller.kt b/client/src/main/kotlin/org/hso/texturesyncclient/controller/Controller.kt index e0ceb73..3f68745 100644 --- a/client/src/main/kotlin/org/hso/texturesyncclient/controller/Controller.kt +++ b/client/src/main/kotlin/org/hso/texturesyncclient/controller/Controller.kt @@ -22,6 +22,9 @@ import java.io.File import javax.imageio.ImageIO import java.util.UUID import java.nio.file.Files +import com.sun.xml.internal.ws.streaming.XMLStreamReaderUtil.close +import java.io.FileOutputStream + class RootController : Controller() { @@ -31,6 +34,7 @@ class RootController : Controller() { private lateinit var con: Connection + private var lastExportDir: String = System.getProperty("user.home") init { /*var data = Texture() @@ -134,13 +138,18 @@ class RootController : Controller() { fun exportTexture(data: Texture) { val directoryChooser = DirectoryChooser() directoryChooser.title = "Export Verzeichnis wählen" - directoryChooser.initialDirectory = File(System.getProperty("user.home")) + directoryChooser.initialDirectory = File(lastExportDir) val dir = directoryChooser.showDialog(primaryStage) if (dir != null) { + val extension = if (data.format == TextureFormat.PNG) ".png" else ".jpeg" //get file format + val filePath = "$dir/${data.name}$extension" //build absolute exported texture path + val exportedFile = File(filePath) //create file + val fileout = FileOutputStream(exportedFile) + fileout.write(con.getTextureFile(data.textureHash)) //write bytes in file + fileout.close() - // TODO copy data (bytesarray) with name and extension to dir - + lastExportDir = dir.absolutePath //store last user chosen dir } }