Struts2 Struts 2中的拖放图像浏览上载问题
JSP表单:Struts2 Struts 2中的拖放图像浏览上载问题,struts2,drag-and-drop,image-upload,Struts2,Drag And Drop,Image Upload,JSP表单: <s:form method="POST" enctype="multipart/form-data" action="uploaddocumentfile" id="uploaddocumentfile" namespace="/documents" > <s:file name="upload" id="holder"></s:file> /s:form> 动作类: 公共类上载文件操作扩展。。。{ pri
<s:form method="POST" enctype="multipart/form-data" action="uploaddocumentfile" id="uploaddocumentfile" namespace="/documents" >
<s:file name="upload" id="holder"></s:file>
/s:form>
动作类:
公共类上载文件操作扩展。。。{
private File upload;
public File getUpload() {
return upload;
}
public void setUpload(File upload) {
this.upload = upload;
}
}
问题:在浏览文件上载中,我们可以通过文件上载getter setter在action类中自动获取表单文件值,但拖放如何获取文件值
JSP
<div id="template_dropzone"></div>
在Action类中,只需使用getter和setter创建一个字符串变量,即可检索文件名或内容类型,如下所示:-
private File upload;
private String uploadFileName;
private String uploadContentType;
public File getUpload() {
return upload;
}
public void setUpload(File upload) {
this.upload = upload;
}
public String getUploadFileName() {
return uploadFileName;
}
public void setUploadFileName(String uploadFileName) {
this.uploadFileName = uploadFileName;
}
public String getUploadFileContentType() {
return uploadFileContentType;
}
public void setUploadFileContentType(String uploadFileContentType) {
this.uploadFileContentType = uploadFileContentType;
}
struts中的jsp表单文件上载示例:同一类型需要拖放文件上载该示例上的拖放操作正常..这不是拖放,java point示例是浏览图像文件examle..拖放意味着从计算机拖动文件并拖放到网页特定区域..尝试拖动文件以选择文件按钮它可以上传。如果你想让一个div充当文件的拖放,你需要像我不想使用任何插件一样使用jquery插件。我可以在代码中传递profilePic值作为值,而不是调用onclick listner,可以在read file中直接调用。函数readfiles(files){console.log(files);var a=files[0].name;//文件名var data=new FormData();data.append('upload',a);$.ajax({url:'uploadProfilePic',method:'POST',data:data,cache:false,contentType:false,processData:false,success:function(result){});…如果使用dropzone js,那么jsp文件将是可以的。请确保
a
不是文件名`var a=files[0];“请求是通过ajax发送的,而不是表单提交。值得注意的是,要使用Struts2和dropzone.js上载多个文件,需要自定义黑客。幸运的是,;)
var profilePic = null;
var dropZone = $('#template_dropzone').dropzone({
url: "#",
maxFiles: 1,
addRemoveLinks: true,
init: function() {
this.on("addedfile", function(file) {
// trigger when a file is added
});
this.on("complete", function(file) {
// trigger when the uploading of a file is completed
profilePic = file;
});
this.on("removedfile", function(file) {
var noOfFiles = this.files.length; // can check No. of files
});
});
$('#uploadFile').on('click',function(event){
var data = new FormData();
data.append('upload',profilePic);
$.ajax({
url: 'uploadProfilePic',
method: 'POST',
data: data,
cache: false,
contentType: false,
processData: false,
success: function(result) {}
});
});
private File upload;
private String uploadFileName;
private String uploadContentType;
public File getUpload() {
return upload;
}
public void setUpload(File upload) {
this.upload = upload;
}
public String getUploadFileName() {
return uploadFileName;
}
public void setUploadFileName(String uploadFileName) {
this.uploadFileName = uploadFileName;
}
public String getUploadFileContentType() {
return uploadFileContentType;
}
public void setUploadFileContentType(String uploadFileContentType) {
this.uploadFileContentType = uploadFileContentType;
}