JQueryファイルアップロードプラグインplupload使用概要
4292 ワード
//JQuery plupload
//html , plupload div js
<div id="uploader" class="modal hide" role="dialog"
aria-labelledby="uploaderLabel"></div>
<a id="uploaderBtn" class="btn" href="#uploader" data-toggle="modal"> </a>
<script type="text/javascript" src="${ctx}/static/plupload-2.0.0/js/plupload.full.min.js"></script>
<script type="text/javascript" src="${ctx}/static/plupload-2.0.0/js/jquery.plupload.queue/jquery.plupload.queue.min.js"></script>
<script type="text/javascript" src="${ctx}/static/plupload-2.0.0/js/i18n/zh_CN.js"></script>
<script type="text/javascript">
//plupload , jquery 。
// :http://plupload.com/
//plupload.full.min.js plupload-2.0.0/js/plupload.dev.js
//plupload error plupload.dev.js ,
// plupload-2.0.0/js/jquery.ui.plupload/jquery.ui.plupload.js
$(function() {
$("#uploader").bind('show',function(){
$('#uploader').pluploadQueue({
url : '${ctx}/upload/file',
multipart_params:{dataType:'install'},
max_file_size : '10mb',
filters : [
{title : "Excel files", extensions : "xls,xlsx"}
],
rename: false,
multiple_queues:true,
prevent_duplicates:true,
flash_swf_url : '${ctx}/static/plupload-2.0.0/js/Moxie.swf',
silverlight_xap_url : '${ctx}/static/plupload-2.0.0/js/Moxie.xap',
init:{
Error: function(up, err) {
// error ,
// plupload -200 http ,
// ==-200 。 , 。
if(err.code==-200){
alert(" , !");
}
if(err.code==-602){
alert(" !");
}
},
}
});
});
});
//plupload , plupload.dev.js
function handleError() {
if (retries-- > 0) {
delay(uploadNextChunk, 1);
} else {
file.loaded = offset; // reset all progress
up.trigger('Error', {
code : plupload.HTTP_ERROR,
message : plupload.translate('HTTP Error.'),
file : file,
response : xhr.responseText,
status : xhr.status,
responseHeaders: xhr.getAllResponseHeaders()
});
}
}
// , , plupload error
// spring MVC , :
@RequestMapping(value = "file", method = RequestMethod.POST)
public @ResponseBody
String uploadFile(@RequestParam("file") MultipartFile file,
@RequestParam("dataType") String dataType,
HttpServletResponse response ) {
UploadFile entity = new UploadFile(file.getOriginalFilename(), dataType);
if ("install".equals(dataType)) {
// , boolean
boolean bl =excelReadAndSave(file);
//fileUploadInfoExcelRead(file);
if(bl){
uploadFileSerivce.save(entity);
}else{
//String str="die('{'jsonrpc':'2.0','error':{'code':501,'message':'Failed to open output stream.'},'id':'id'}')";
// ,
// header ,1300 ,plupload ,
// , 200
response.setStatus(1300);
return "{'error', 4}";
}
} else {
boolean bool =fileUploadInfoExcelRead(file);
if(bool){
uploadFileSerivce.save(entity);
}else{
response.setStatus(1300);
return "{'error', 4}";
}
}
return "{'success', 'true'}";
}