我使用netty 4來進行多部分文件上傳,但不知道如何發送jsaon正文以及上傳文件(.jpg/.pdf/.etc。)使用json負載進行文件上傳netty
請幫我使用netty 4和Java來實現這個功能。 我們非常感謝您的幫助。
我使用netty 4來進行多部分文件上傳,但不知道如何發送jsaon正文以及上傳文件(.jpg/.pdf/.etc。)使用json負載進行文件上傳netty
請幫我使用netty 4和Java來實現這個功能。 我們非常感謝您的幫助。
問題是JSON不支持文件上傳,所以您首先需要決定如何編碼文件&元數據。
你基本上有四種選擇:
使用形式編碼發送您的文件,而不是JSON的。這有更好的文件上傳支持。
Base64對json中的文件進行編碼。這將增加約33%的文件大小。
第一發送文件中的一個的multipart/form-data的POST和使用返回值,以指定一個id與JSON數據發送是不同的請求
第一發送JSON數據並返回一個url將文件上傳到。
我建議不要使用選項2,因爲它也需要在內存中操作文件。如果文件很大,使用multipart/form-data將讓netty將文件保存到文件系統中,因此您不必將其存儲在內存中。
感謝選項3工作正常。謝謝你的幫助! –
那麼你能接受答案嗎?謝謝。 –
UID uniqueFileId = new UID(); FileUpload fileUpload =(FileUpload)數據; String fileName = fileUpload.getFilename(); String filePath = fileUpload.getFilename(); String name = fileUpload.getFilename();嘗試(FileOutputStream out = new FileOutputStream(fileUploadPath + fileName)){out.write(fileUpload.get()); –