Play framework 2.0 -文件上傳

#處理文件上傳

 

1.在表單中用multipart/form-data上傳文件。

 

在web應用中標準的文件上傳方式是在表單中使用一個特殊的"multipart/form-data編碼,它允許標準表單數據和文件附件混合使用:

例如:


@form(action = routes.Application.upload, 'enctype -> "multipart/form-data") {
	    
	    <input type="file" name="picture">
	    
	    <p>
		<input type="submit">
	    </p>
	    
	}
 

現在我們定義一個上傳Action:

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());    
	  }
	}
 

2.直接上傳文件

 

另一種把文件發送懂服務器的方法是使用Ajax從表單異步上傳文件。這種情況下,請求體不會被以"multipart/form-data"編碼,而僅僅包含普通文件內容。

 


	public static Result upload() {
	  File file = request().body().asRaw().asFile();
	  return ok("File uploaded");
	}
 

發佈了15 篇原創文章 · 獲贊 0 · 訪問量 2695
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章