ssh上传图片

昨天遇到了 前台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);//帐号已注册
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值