jquery ajaxfileupload异步上传插件

前端之家收集整理的这篇文章主要介绍了jquery ajaxfileupload异步上传插件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例为大家分享了ajaxfileupload异步上传插件的使用方法,供大家参考,具体内容如下

服务器端采用struts2来处理文件上传

所需环境: jquery.js ajaxfileupload.js struts2所依赖的jar包 及struts2-json-plugin-2.1.8.1.jar

编写文件上传的Action

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("serial")
public class FileAction extends ActionSupport {

private File file;
private String fileFileName;
private String fileFileContentType;

private String message = "你已成功上传文件";

public String getMessage() {
return message;
}

public void setMessage(String message) {
this.message = message;
}

public File getFile() {
return file;
}

public void setFile(File file) {
this.file = file;
}

public String getFileFileName() {
return fileFileName;
}

public void setFileFileName(String fileFileName) {
this.fileFileName = fileFileName;
}

public String getFileFileContentType() {
return fileFileContentType;
}

public void setFileFileContentType(String fileFileContentType) {
this.fileFileContentType = fileFileContentType;
}

@SuppressWarnings("deprecation")
@Override
public String execute() throws Exception {

String path = ServletActionContext.getRequest().getRealPath("/upload");

try {
  File f = this.getFile();
  if(this.getFileFileName().endsWith(".exe")){
    message="对不起,你<a href="https://www.jb51.cc/tag/shangchuan/" target="_blank" class="keywords">上传</a>的<a href="https://www.jb51.cc/tag/wenjian/" target="_blank" class="keywords">文件</a>格式不允许!!!";
    return ERROR;
  }
  FileInputStream inputStream = new FileInputStream(f);
  FileOutputStream outputStream = new FileOutputStream(path + "/"+ this.getFileFileName());
  byte[] buf = new byte[1024];
  int length = 0;
  while ((length = inputStream.read(buf)) != -1) {
    outputStream.write(buf,length);
  }
  inputStream.close();
  outputStream.flush();
} catch (Exception e) {
  e.printStackTrace();
  message = "对不起,<a href="https://www.jb51.cc/tag/wenjian/" target="_blank" class="keywords">文件</a><a href="https://www.jb51.cc/tag/shangchuan/" target="_blank" class="keywords">上传</a>失败了!!!!";
}
return SUCCESS;

}

}

struts.xml

注意结合Action观察struts.xml中result的配置。

contentType参数是一定要有的,否则浏览器总是提示将返回的JSON结果另存为文件,不会交给ajaxfileupload处理。这是因为struts2 JSON Plugin默认的contentType为application/json,而ajaxfileupload则要求为text/html。

文件上传的jsp页面

<Meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> Insert title here
上传" onclick="return ajaxFileUpload();">

注意观察中的代码,并没有form表单。只是在按钮点击的时候触发ajaxFileUpload()方法。需要注意的是js文件引入的先后顺序,ajaxfileupload.js依赖于jquery因此你知道的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

原文链接:https://www.f2er.com/jquery/35118.html

猜你在找的jQuery相关文章