$('#upload_cover').fileupload({
url: '/img/upload',
acceptfiletypes: /(\.|\/)(png)$/i,//文件后缀控制
maxnumberoffiles: 1,//最大上传文件数目
maxfilesize: 50000,
datatype: 'json',//期望从服务器得到json类型的返回数据
messages : {//文件错误信息
acceptfiletypes : '文件类型不匹配',
maxfilesize : '文件过大',
},processfail: function (e, data) {
var currentfile = data.files[data.index];
if (data.files.error && currentfile.error) {
console.log(currentfile.error);
$('#error').text(currentfile.error);
}
},
done: function (e, data) {
$('#imgurl').val(data.result.fileurl);
$('#error').text("");
},
fail: function (e, data) {
$('#error').text("上传失败!"+data.files.error);
}
});
imgurl*
@requestmapping(value = "/img/upload", method = { requestmethod.post })
public void toupload(httpservletrequest request, httpservletresponse response, modelmap model) throws exception {
// 创建一个通用的多部分解析器
commonsmultipartresolver multipartresolver = new commonsmultipartresolver(request.getsession().getservletcontext());
// 新建目录
string savepath = constans.file_upload_path + constans.img_folder;
file directory = new file(savepath);
if (!directory.exists()) {
directory.mkdirs();
}
try {
// 判断 request 是否有文件上传,即多部分请求
if (multipartresolver.ismultipart(request)) {
// 转换成多部分request
multiparthttpservletrequest multirequest = (multiparthttpservletrequest) request;
// 取得request中的所有文件名
iterator iter = multirequest.getfilenames();
while (iter.hasnext()) {
// 取得上传文件
multipartfile file = multirequest.getfile(iter.next());
if (file != null) {
// 取得当前上传文件的文件名称
string myfilename = file.getoriginalfilename();
if (myfilename.trim() != "") {
// 定义上传路径
string tarpath = savepath + myfilename;
file localfile = new file(tarpath);
file.transferto(localfile);
model.addattribute("fileurl", tarpath);
model.addattribute("filename", myfilename);
}
}
}
}
logger.info(">>> upload complete");
} catch (exception e) {
e.printstacktrace();
logger.info(">>> upload error");
} finally {
response.setcontenttype("application/json; charset=utf-8");
response.setcharacterencoding("utf-8");
printwriter pw = response.getwriter();
pw.print(new gson().tojson(model));
pw.flush();
pw.close();
}
}
希望与广大网友互动??
点此进行留言吧!