play framework2开发(五)

来源:互联网 发布:csgo淘宝买钥匙 编辑:程序博客网 时间:2024/06/11 10:04

文件上传

在一个form中用multipart/form-data上传文件

在一个web应用程序中,标准的上传文件是用multipart/form-data编码的form,它允许用文件附件形式混合表单数据。注意的是对于这样的form的HTTP方法,必须是POST提交

1、打开routes文件,添加  POST     /upload                         controllers.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,从一个form中异步上传文件。这种情况下,请求的body不会被编码成Multipart/form-data,只包含纯文本文件内容。

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



原创粉丝点击