1
我是新來玩框架2.0,並想上傳我的本地文件系統中的文件。但我不知道如何開始這個。任何人都可以幫助我嗎?如何在播放框架中上傳文件?
我是新來玩框架2.0,並想上傳我的本地文件系統中的文件。但我不知道如何開始這個。任何人都可以幫助我嗎?如何在播放框架中上傳文件?
表單
@form(action = routes.Application.upload, 'enctype -> "multipart/form-data") {
<input type="file" name="picture">
<p>
<input type="submit">
</p>
}
我們的上傳動作
@BodyParser.Of(value = BodyParser.Text.class, maxLength = 10 * 1024)
public static Result upload() {
MultipartFormData body = request().body().asMultipartFormData();
FilePart picture = body.getFile("picture");
if (picture != null) {
String fileName = picture.getFilename();
String contentType = picture.getContentType();
File file = picture.getFile();
return ok("File uploaded");
} else {
flash("error", "Missing file");
return redirect(routes.Application.index());
}
}
只要改變maxLength = 10 * 1024
(這只是各地10KB)到你想要的長度更本可以在documentation
如果您要通過Ajax發送文件。使用此
public static Result upload() {
File file = request().body().asRaw().asFile();
return ok("File uploaded");
}
從上面將被編碼爲Mutlipart/form-data
,但將只包含簡單的內容文件
感謝張貼的響應...........我這樣做了,不過它去保存在臨時文件夾.......我想要的是保存在一些目標文件夾......... –
也上面的代碼不適用於更大的文件說12GB ......幫助是需要.......我會非常感激,如果你建議我一些鏈接,我可以在playframework讀取java ....... –
如果我沒有記錯,默認情況下瀏覽器不能上傳超過4Gb在最大。這是你應該考慮的事情。但是如果你能繞過它,你可以配置你的Play配置來接受一定大小的文件。我更新了我的答案。 關於發送到另一個目的地。你已經有文件名爲文件,爲什麼你不只是傳遞它programmaticaly – KyelJmD