json读取json文件,上传到后台

js代码:

$("#saveBtn").on("click",function(){
var file=$("#secretKeyUpload")[0].files[0];
var tableId=$("#tableId").val();
if(tableId!=""){
var formData=new FormData();
var url="/site/site/key/add";
var file=$("#secretKeyUpload")[0].files[0];
if(operation=="update" || file!=undefined){
if(file!=undefined){
var filename=file.name;
var suffix=filename.substring(filename.length-4,filename.length);
if(suffix.toLowerCase()=="json"){
var path="";
if (window.createObjcectURL != undefined) {
path = window.createOjcectURL(file);
} else if (window.URL != undefined) {
path = window.URL.createObjectURL(file);
} else if (window.webkitURL != undefined) {
path = window.webkitURL.createObjectURL(file);
}
if(path!=""){
$.getJSON(path,function (data) {
$("#secretKey").val(JSON.stringify(data));
});
formData.append("file",file);
}

}else{
alert("请选择正确的文件(json格式)!");
}
}

if(operation=="update"){
formData.append("id",id);
url="/site/site/key/update/"+skId;
}else{
formData.append("siteId",$("#siteId").val());
}
formData.append("tableId",$("#tableId").val());
//执行ajax
var request = new XMLHttpRequest();
request.open("POST", url,true);
request.onreadystatechange = function(){
if(request.readyState==4){
if(request.status==200){
var data=JSON.parse(request.responseText);
alert(data.basic.msg);
window.location.href="/site/site/key/update?siteId="+$("#siteId").val();
}else {
alert("上传失败,请重试!");
}
}
};
request.send(formData);

}else{
alert("请选择需要上传的密钥文件!");
}
}else{
alert("请输入资源视图ID!");
}
});
上传文件html:
<input type='file' id="secretKeyUpload" name="file">

后台接收代码:
@ResponseBody
@RequestMapping(value = "/add")
public ResultBase siteKeyAdd(HttpServletRequest request, @RequestParam("file") MultipartFile file, String tableId, Integer siteId){

//上传的json文件的临时存储路径
String fileName=file.getOriginalFilename();
String path=SiteKeyController.class.getResource("/").toString().substring(6);
File targetFile=new File(path,fileName);

try{
file.transferTo(targetFile);
FileInputStream fileInputStream=new FileInputStream(targetFile);
String secretKey = IOUtils.toString(fileInputStream);
try{
Map map=(Map)JSON.parse(secretKey);
}catch (Exception e){
fileInputStream.close();
targetFile.delete();
resultBase.basic.setMsg("密钥不是标准json格式!").setStatus(0);
return resultBase;
}
gaSecretKeyInfo.setSecretKey(secretKey);
//删除文件前关闭流,否则无法删除
fileInputStream.close();
targetFile.delete();
}catch (Exception e){
targetFile.deleteOnExit();
e.printStackTrace();
resultBase.basic.setMsg("秘钥上传异常!").setStatus(0);
return resultBase;
}
  dao层代码。。、、、、、
}
posted @ 2018-05-17 18:22  无月行  阅读(2392)  评论(0编辑  收藏  举报