我应该如何编写控制器类以通过表单上传图像?
我已经创建了这样的表格
#{form @index(), enctype:'multipart/form-data'}
<br/>
<h4>Image:</h4> <input type="file" name="image" />
<br/>
<br/>
<input type="submit" name="submit" value="Upload Photo" />
#{/form}
我应该如何编写控制器类以通过表单上传图像?
我已经创建了这样的表格
#{form @index(), enctype:'multipart/form-data'}
<br/>
<h4>Image:</h4> <input type="file" name="image" />
<br/>
<br/>
<input type="submit" name="submit" value="Upload Photo" />
#{/form}
enctype="multipart/form-data"
需要让 Play 框架处理所有上传。在控制器方面,您只需编写:
public static void storeImage(File fileUpload) {
if (fileUpload == null) {
//Handle the error case
}
//Store the file in a perenial location.
//For example :
File storeLocation = new File("/relOrAbsPath"), fileUpload.getName());
boolean success = fileUpload.renameTo(storeLocation);
//...
}
默认情况下,Play 将文件存储在临时位置。
您也可以像对其他控制器参数一样使用注释。
这里有agoo介绍:http ://www.lunatech-research.fr/playframework-file-upload-blob
如果您上传多张照片,则会出现一些已知问题。这是对我有用的解决方法:Playframework 中的多个文件上传