フレームワーク2の開発を再生する(5)

ファイルのアップロード

multipart / form-dataを含むファイルフォームにアップロードする

Webアプリケーションでは、標準のアップロードファイルはmultipart / form-dataでエンコードされたフォームであり、添付ファイルの形式でフォームデータを混在させることができます。このようなフォームのHTTPメソッドの場合、POSTで送信する必要があることに注意してください

1.ルートファイルを開き、POST / uploadcontrollers.UserControl.upload()を追加します

2. UserControl.javaに、次のように追加します。

 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();
			 System.out.println("filename:"+filename+",contentType:"+contentType);
			 return ok("File load");
			 
		 }else{
			 flash("error","Miss file");
			 
			 return redirect(routes.Application.index()); 
		 }
	 }
3. form.scala.htmlを開いて、参加します

 <form action="/upload" method="post" enctype="multipart/form-data">
   <input type="file" name="picture">
    
    <p>
        <input type="submit">
    </p>
    
   </form>


ファイルの直接アップロード

ファイルをアップロードする別の方法は、ajaxを使用してフォームから非同期にファイルをアップロードすることです。この場合、要求された本文はMultipart / form-dataとしてエンコードされず、プレーンテキストファイルのコンテンツのみが含まれます。

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



おすすめ

転載: blog.csdn.net/penkee/article/details/8751037