您的位置:首页 > 其它

ssh上传图片

2016-07-14 09:24 387 查看
昨天遇到了 前台ajax 发送图片后台接收不到的问题,原来是被struts拦截了。在struts 配置了

<bean   type= "org.apache.struts2.dispatcher.multipart.MultiPartRequest" 

name= "myRequestParser" class= "com.bjxstr.filter.RequestParseWrapper" 
scope= "default" optional= "true"/> 
<constant name= "struts.multipart.handler" value= "myRequestParser" />

生成的拦截器:

 RequestParseWrapper  extends JakartaMultiPartRequest   {

public void parse(HttpServletRequest   servletRequest,   String   saveDir)throws   IOException{   

    } 

前台代码:

var uplaod = {
fileInput: $("#lic-img").get(0),
fileFilter: [],
filter: function(files){
var arrFiles = [];
//过滤文件图片大小
for (var i = 0,file;file=files[i]; i++) {
if (file.type.indexOf('image') === 0) {

if (file.size >= 512000) {

alert("该文件"+file.name+"过大,请上传小于500kb图片");
}else{
arrFiles.push(file);

}
}else{
alert("该文件"+file.name+"不是图片");
}
}
// console.log(arrFiles);
return arrFiles;
},
//取得图片
getImg: function(e){
var files = e.target.files || e.dataTransfer.files;

this.fileFilter = this.filter(files);

return this;
},
//上传图片
onUpImg: function(){
var that = this;
var formData = new FormData();
formData.append('upload', this.fileFilter[0]);
$.ajax({
url: 'ajaxUploadImg',
type: 'POST',
processData:false,
contentType: false,
data: formData,
success: function(data){
console.log(data)
}
})
},
//图片初始化
init: function() {
var that = this;
if (this.fileInput) {
this.fileInput.addEventListener("change", function (e) {
that.getImg(e);
that.onUpImg();
}, false);
}
}
};
uplaod.init();
});

后台代码:

DiskFileItemFactory factory = new DiskFileItemFactory(); 
ServletFileUpload upload = new ServletFileUpload(factory); 
List<DiskFileItem> items = upload.parseRequest(request);
for (DiskFileItem fileItem : items) {
if (fileItem != null) 
{

System.out.println("哈哈哈");
SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");

//构建文件新名字,打上时间戳加上随机数
String newFileName=df.format(new Date())+Values.getRandomNum(6)+".jpg";

   System.out.println("http://sfb.zshifu.cn/"+newFileName+"@!img-service");
AliyunOss.putShifuObject("shifubang",newFileName,fileItem);
result = "http://sfb.zshifu.cn/"+newFileName+"@!img-service";

System.out.println("result=="+result);
response.getWriter().print(result);//帐号已注册
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: