使用ajaxfileupload.js实现文件上传
ajaxFileUpload是一个异步上传文件的jQuery插件
语法:$.ajaxFileUpload([options])
options参数说明:
1、url 上传处理程序地址。
2,fileElementId 需要上传的文件域的ID,即<input type="file">的ID。
3,secureuri 是否启用安全提交,默认为false。
4,dataType 服务器返回的数据类型。可以为xml,script,json,html。如果不填写,jQuery会自动判断。
5,success 提交成功后自动执行的处理函数,参数data就是服务器返回的数据。
6,error 提交失败自动执行的处理函数。
7,data 自定义参数。
8, type 当要提交自定义参数时,这个参数要设置成post
错误提示:
1,SyntaxError: missing ; before statement错误
如果出现这个错误就需要检查url路径是否可以访问
2,SyntaxError: syntax error错误
如果出现这个错误就需要检查处理提交操作的服务器后台处理程序是否存在语法错误
3,SyntaxError: invalid property id错误
如果出现这个错误就需要检查文本域属性ID是否存在
4,SyntaxError: missing } in XML expression错误
如果出现这个错误就需要检查文件name是否一致或不存在
5,其它自定义错误
大家可使用变量$error直接打印的方法检查各参数是否正确,比起上面这些无效的错误提示还是方便很多。
第一步:先引入jQuery与ajaxFileUpload插件。注意先后顺序
<script src="jquery-min.js" type="text/javascript"></script>
<script src="ajaxfileupload.js" type="text/javascript"></script>
第二步:HTML代码:
<input type="file" id="file1" name="pay" onchange="ajaxFileUpload()" />
第三步:JS代码
<script type="text/javascript">function ajaxFileUpload() {
$.ajaxFileUpload
(
{
url: 'uploadPayorder', //用于文件上传的服务器端请求地址
secureuri: false, //是否需要安全协议,一般设置为false
fileElementId: 'file1', //文件上传域的ID
dataType: 'json', //返回值类型 一般设置为json
success: function (data) //服务器成功响应处理函数
{
if (typeof (data.error) != 'undefined') {
if (data.error != '') {
alert(data.error);
} else {
alert(data.msg);
}
}
},
error: function (data)//服务器响应失败处理函数
{
alert('失败');
}
}
)
return false;
}
</script>
第四步、java代码
public String uploadPayorderImg(){
String payorder=null;
Map<String,Object> map= new HashMap<String,Object>();
JSONObject json = null;//将map对象转换成json类型数据
try {
payorder = new uploadImg().upload(pay, payFileName, payContentType, "/upload");
System.out.println(payorder);
boolean r=true;
if(r){
map.put("result", "success");
json=JSONObject.fromObject(map);
result = json.toString();//给result赋值,传递给页面
}else{
map.put("result", "error");
result = null;//给result赋值,传递给页面
}
} catch (FileNotFoundException e) {
result = null;
e.printStackTrace();
} catch (IOException e) {
result = null;
e.printStackTrace();
}
return SUCCESS;
}
建议采用jQuery1.7以上的版本
ajaxfileupload.js下载地址:http://download.csdn.net/detail/qq_33347991/9706564
最新文章
- Oracle存储过程例子:运用了正则表达式、数组等
- SQL Server2008创建约束图解
- mysql 存储过程 事务; mysql的事务中包含一个存储过程
- Java连接MySQl数据库实现代码
- 有7g和2g的砝码各一个,怎样称可以3次把140g东西分为50g和90g???????
- Linux运行C#程序
- Buenos Aires和Rio de Janeiro怎么发音?
- 3101: N皇后
- HDU-1495 非常可乐 (嵌套结构体-广搜 对比 一般广搜)
- 转每天一个linux命令(4):mkdir命令
- 1-1 spring基础
- BZOJ 2733 永无乡
- Descriptio Resource Path LocationType Archive for required library: &#39;D:/apache-maven/apache-maven-3.6.0/mavenrepository/org/springframework/spring-aspects/4.3.7.RELEASE/spring-aspects-4.3.7.RELEASE.
- Hive实现交叉二维分析的小语句
- webpack学习笔记--压缩代码
- 淘宝客知道这几个ID,收入将会提高50%
- 63:二叉搜索树的第k个结点
- java学习笔记20(Arraylist复习,Collection接口方法,迭代器,增强型for循环)
- jQuery实现评论弹幕、弹幕漂浮、滚动代码
- Neutron 理解 (2): 使用 Open vSwitch + VLAN 组网 [Neutron Open vSwitch + VLAN Virtual Network]