1. 程式人生 > >ajax+MultipartFile上傳文件到本地

ajax+MultipartFile上傳文件到本地

mil window byte[] res eight 100% als fin OS

.html

<th data-options="field:‘op‘,align:‘center‘,width:220,formatter:rmtManager.supportOpFormmater()">操作</th>
<div id="uploadCertificate" >
<div class="easyui-layout" data-options="fit:true">
<div data-options="region:‘center‘" style="padding:10px;">
<div style="margin-bottom:20px">
<form id="excelform" method="post" enctype="multipart/form-data">
<div>請選擇要上傳的證書:</div>
<input name="certificate
" class="easyui-filebox" data-options="required:‘true‘,buttonText:‘選擇文件‘" style="width:100%">
<input type="hidden" id="accountId" name="accountId" value="" />
</form>
</div>
</div>
<div data-options="region:‘south‘,border:false" style="text-align:right;padding:5px 0 0;">
<a id="import" href="#" class="easyui-linkbutton" data-options="iconCls:‘icon-ok‘" >上傳</a>
<a id="cancel" href="#" class="easyui-linkbutton" data-options="iconCls:‘icon-cancel‘">取消</a>
</div>
</div>
</div>


.js


(function($) {
var pageType= $(‘#glPageType‘).val();
var ctx= $(‘#ctx‘).val();
var editIndex = undefined;
var busMng = rmtCMHelper.createBusMngInst({
busMngOptions:{
                toUpload: function(flag){
$(‘#accountId‘).val(flag);
$(‘#uploadCertificate‘).window({
width:300,
height:150,
title:‘證書導入‘,
minimizable:false,
maximizable:false,
collapsible:false,
modal:true
});
$(‘#uploadCertificate‘).window(‘open‘);
},
       supportOpFormmater: function(){
return function(value,row,index){
return ‘<a href="javascript:void(0);" class="todo" onclick="rmtManager.toToken( ‘+row.id+‘ )">查看TOKEN</a>&nbsp;&nbsp;&nbsp;&nbsp;‘
+ ‘<a href="javascript:void(0);" class="todo" onclick="rmtManager.addConfig( ‘+row.id+‘ )">配置</a>&nbsp;&nbsp;&nbsp;&nbsp;‘
+ ‘<a href="javascript:void(0);" class="todo" onclick="rmtManager.toView( ‘+row.id+‘ )">查看</a>&nbsp;&nbsp;&nbsp;&nbsp;‘
+‘ <a href="javascript:void(0);" class="todo" onclick="rmtManager.toUpload(‘+row.id+‘ )">上傳證書</a>&nbsp;&nbsp;&nbsp;&nbsp;‘;
}
}
});
$(‘#import‘).bind(‘click‘, function(){


$(‘#excelform‘).form(‘submit‘, {
url: ctx+"/wxbase/account/upload.html",
onSubmit: function(){
if($(‘#excelform‘).form(‘validate‘))
rmtHelper.showMask();
},
success:function(data){
var data = eval(‘(‘ + data + ‘)‘);
if(data.success){
rmtHelper.hideMask();
$(‘#uploadCertificate‘).window(‘close‘);
rmtHelper.showMsg(data.content);
rmtHelper.getCurCurdIst().reloadGrid();
}else{
rmtHelper.hideMask();
rmtHelper.showMsg(data.content);
}
}
});
});
$(‘#cancel‘).bind(‘click‘, function(){
$(‘#uploadCertificate‘).window(‘close‘);
});
controller


/**
* 上傳證書
* @param request
* @return
*/
@RequestMapping(value="upload", method = RequestMethod.POST)
@ResponseBody
public ResultJsonInfo uploadCertificate(@RequestParam("certificate") MultipartFile certificate, HttpServletRequest request)throws Exception {
String accountId = request.getParameter("accountId");
String fileName="";
try {
String picPath ="D://"+ accountId +"/";
//判斷之前是否存在證書
File certificateFile = new File(picPath+accountId+".cer");

if(certificateFile.exists()) {
//已存在證書則刪除
certificateFile.delete();
}
//根據真實路徑創建目錄文件
File picSaveFile = new File(picPath);
//判斷是否存在路徑
if(!picSaveFile.exists()) {
//如果不存在則創建路徑
picSaveFile.mkdirs();
}
if (!certificate.isEmpty()) {
try {
byte[] buffer =new byte[1024*1024];
int bytesum = 0;
int byteread = 0;
fileName=accountId+".cer";
FileOutputStream fs=new FileOutputStream( picPath + fileName);
bytesum+=byteread;
fs.write(buffer,0,byteread);
System.out.println("文件流"+certificate.getOriginalFilename());
// 轉存文件 */
/*certificate.transferTo(new File(picPath));*/
} catch (Exception e) {
e.printStackTrace();
}
return new ResultJsonInfo(true,"上傳成功"+",");
}
}catch (Exception e) {
e.printStackTrace();
return new ResultJsonInfo(false,"上傳失敗"+",");
}
/*logger.info("導入成功筆數:"+count+",耗時:" + (end - start) + "毫秒");*/
return new ResultJsonInfo(true,"上傳成功"+",");
}

紫色部分都要相同命名

ajax+MultipartFile上傳文件到本地