uploadify.js + servlet 实现文件上传

时间:2022-08-28 08:43:40

uploadify的官方网站:http://www.uploadify.com/

uploadify.js + servlet 实现文件上传


官网上有flash和html5两种版本


通用性目前当然是flash了,所以我们以flash版本为例。

我们需要加入 网页的是 

1.jquery.js

2.jquery.uploadify.js

3.uploadify.swf

4.uploadify.css


众所周知的是 html 上 ajax的方法 无法提交表单,就没法ajax的方法提交文件到服务器。

所以uploadify实现异步通信的方式是使用 flash实现的,但我们完全不需要去懂flash,只要像ajax那样调用即可。

<input type="file" name="file_upload" id="file_upload" />

$(function() {
$("#file_upload_1").uploadify({
height : 30,
swf : '/uploadify/uploadify.swf',
uploader : '/uploadify/uploadify.php',
width : 120
});
});


api如下

Options

Events

Methods

重点说一下事件 onUploadComplete 是当上传完成时,它只管文件是否上传,至于服务器怎么处理与他无关而事件 onUploadSuccess 是需要服务器回应的


$(function() {
$("#file_upload").uploadify({
'swf' : '/uploadify/uploadify.swf',
'uploader' : '/uploadify/uploadify.php',
'onUploadSuccess' : function(file, data, response) {
alert('The file ' + file.name + ' was successfully uploaded with a response of ' + response + ':' + data);
}
});
});

所以  onUploadSuccess 有三个参数 而onUploadComplete 只有一个 file:
file是上传的文件 data是服务器返回的数据 也就是 print的数据。response 也是服务器回应不过不是数据而是是否有回应,  如果有返回值 , response=true 否则 response=false

服务器端servlet 或者 action 的 写法 与 普通接收表单文件提交的 一样一样的 ,这里就不赘述了。