File upload 如何验证文件上载?[播放框架]
我有一个简单的bean,如下所示:File upload 如何验证文件上载?[播放框架],file-upload,playframework,playframework-2.0,javabeans,File Upload,Playframework,Playframework 2.0,Javabeans,我有一个简单的bean,如下所示: 封装模型; 导入play.data.validation.Constraints; 公共类上载 { @约束条件。必需 @限制。最小长度(4) @限制。最大长度(40) 公共字符串名称; @约束条件。必需 公共字符串输入文件; } 形式是这样的: @form(action=routes.Application.submit(),'enctype->“多部分/表单数据”){ @输入文本( 上传表格(“名称”), “\u标签->“名称” ) @输入文件( 上传表单
封装模型;
导入play.data.validation.Constraints;
公共类上载
{
@约束条件。必需
@限制。最小长度(4)
@限制。最大长度(40)
公共字符串名称;
@约束条件。必需
公共字符串输入文件;
}
形式是这样的:
@form(action=routes.Application.submit(),'enctype->“多部分/表单数据”){
@输入文本(
上传表格(“名称”),
“\u标签->“名称”
)
@输入文件(
上传表单(“输入文件”),
“\u标签->“查询”
)
}
@必需约束
根本不起作用
我希望它被选中,并在大小上增加一些限制。使您的表单如下所示:
在提交方法中添加以下内容:
//来自官方文档
公共静态结果提交(){
MultipartFormData body=request().body().asMultipartFormData();
FilePart file=body.getFile(“inputFile”);
if(inputFile!=null){
字符串文件名=picture.getFilename();
字符串contentType=picture.getContentType();
File File=picture.getFile();
//方法检查大小
如果(!validateFileSize){
返回重定向(routes.Application.index());//文件大小错误
}
返回ok(“上传文件”);
}否则{
//验证来了
闪存(“错误”、“缺少文件”);
返回重定向(routes.Application.index());
}
}
将您的表单设置为:
在提交方法中添加以下内容:
//来自官方文档
公共静态结果提交(){
MultipartFormData body=request().body().asMultipartFormData();
FilePart file=body.getFile(“inputFile”);
if(inputFile!=null){
字符串文件名=picture.getFilename();
字符串contentType=picture.getContentType();
File File=picture.getFile();
//方法检查大小
如果(!validateFileSize){
返回重定向(routes.Application.index());//文件大小错误
}
返回ok(“上传文件”);
}否则{
//验证来了
闪存(“错误”、“缺少文件”);
返回重定向(routes.Application.index());
}
}
可能是下面这样的吧
MultipartFormData body=request().body().asMultipartFormData();
如果(!body.getFiles().isEmpty()){
//做你的工作
}
可能是下面这样的吧
MultipartFormData body=request().body().asMultipartFormData();
如果(!body.getFiles().isEmpty()){
//做你的工作
}
哦,对不起,我忘了添加:是否有可能通过注释实现这一点?有点不一致,一些验证来自bean中的约束,一些验证来自操作。我认为@required不适用于文件,因为表单对象不存储它只发送文本数据的文件。@AhmedAswani但如果字段是文件类型。不需要工作吗?你是对的,但问题是它是否绑定了?我认为文件输入没有绑定,所以不会被验证。哦,对不起,我忘了补充一点:是否有可能通过注释实现这一点?有点不一致,一些验证来自bean中的约束,一些验证来自操作。我认为@required不适用于文件,因为表单对象不存储它只发送文本数据的文件。@AhmedAswani但如果字段是文件类型。不需要工作吗?你是对的,但问题是它是否绑定了我认为文件输入没有绑定,所以它不会被验证