play framework2開發(五)

來源:互聯網
上載者:User

檔案上傳

在一個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");}


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.