android ajax提交图片,ajaxFileUpload上传图片

jsp页面

input type="file" name="file" id="fn"οnchange="select_img();">

引用的js

jquery.ajaxfileupload.js

js代码

$(function () {

$('input[type=text]').validatebox();

});

function uploadP(id){

$("#uid").val(id);

$("#uploadpictrue").dialog("open");

}

function select_img() {

var id=$("#uid").val();

var value = $("#fn").val();

var ext = value.substring(value.lastIndexOf(".") + 1).toLowerCase();

if (ext == null

|| ext == ""

|| (ext != "jpg" && ext != "gif" && ext != "bmp" && ext != "jpeg" && ext != "png")) {

$.messager.alert("操作提示", "图片格式错误","info");

} else{

$.ajaxFileUpload({

url : "uploadImgFile.html?id="+id,

secureuri : false,// 一般设置为false

fileElementId : 'fn',// 文件上传空间的id属性

dataType : 'text',// 返回值类型 一般设置为json

success : function(data,status) // 服务器成功响应处理函数

{

var path=data.substring(8,data.length-3);

if(path=="fail1"){

$("#fn").val("");

$.messager.alert("操作提示", "文件超过4MB,请您重新上传","info");

}else{

$("#target").attr("src", getRootPath() + data);

$("#btnl").css("display","block");

$("#target").css("display","block");

}

},

error : function(data,status,e)// 服务器响应失败处理函数

{

$.messager.alert("操作提示", e,"info");

}

});

}

}

function getRootPath() {

// 获取当前网址,如: http://localhost:8083/uimcardprj/share/meun.jsp

var curWwwPath = window.document.location.href;

// 获取主机地址之后的目录,如: uimcardprj/share/meun.jsp

var pathName = window.document.location.pathname;

var pos = curWwwPath.indexOf(pathName);

// 获取主机地址,如: http://localhost:8083

var localhostPaht = curWwwPath.substring(0, pos);

// 获取带"/"的项目名,如:/uimcardprj

var projectName = pathName

.substring(0, pathName.substr(1).indexOf('/') + 1);

return (localhostPaht + projectName) + "/";

}

后台代码

@SuppressWarnings("unchecked")

@RequestMapping(value = "/uploadImgFile.html")

public @ResponseBody void uploadImgFile(HttpServletRequest request,

HttpServletResponse response,

@RequestParam("file") MultipartFile file,int id)

throws Exception {

JSONObject jsonObject=new JSONObject();

//文件大小

double fileSizeDouble = get2Double(((double) file.getSize() / 1024) / 1024);

String fileSize = fileSizeDouble + "MB";

if (fileSizeDouble > 4.0) {

jsonObject.put("msg", "fail1");

//ResponseUtil.write(response, jsonObject);

}else {

String sql="from TabExpert te where te.expertid='"+id+"'";

TabExpert tabExpert=tabExpertSercive.getTabExpertListByHql(sql).get(0);

String msg="";

// 获取当期时间,作为文件名,避免重复

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");

String fileTime = sdf.format(new Date());

String fileName = file.getOriginalFilename();

System.out.println(fileName);

String type = fileName.substring(fileName.lastIndexOf(".") + 1);

/*if (fileName.length() > 0) {

if (!type.equals("jpg") && !type.equals("bmp")

&& !type.equals("gif") && !type.equals("png")

&& !type.equals("jpeg")) {

jsonObject.put("msg","图片格式错误");

}

}else{

*/

// 上传的文件放在“realPath”目录下

String realPath1 = request.getSession().getServletContext()

.getRealPath("houtai/p_w_picpath/" + fileTime);

if ((new File(realPath1).isDirectory())) {

System.out.println("文件夹已存在!创建失败!");

} else {

new File(realPath1).mkdir();

System.out.println("创建文件夹成功!");

}

if (fileName.length() > 0) {

// 存入照片

FileUtils.copyInputStreamToFile(file.getInputStream(), new File(

realPath1, fileName));

// 相片路径

String realPath = realPath1 + "\\" + fileName;

System.out.println("========================================");

// 将文件名存入数据库

// realPath=realPath+"\\"+fileName;

int beginIndex = realPath.lastIndexOf("houtai");

realPath = realPath.substring(beginIndex, realPath.length());

tabExpert.setExt0(realPath.replace("\\", "/"));

tabExpert.setExt1(fileName);

try {

tabExpertSercive.updateTabExpert(tabExpert);

msg=tabExpert.getExt0();

ResponseUtil.write(response,msg);

jsonObject.put("msg",tabExpert.getExt0());

System.out.println(tabExpert.getExt0());

} catch (Exception e) {

// TODO: handle exception

jsonObject.put("msg", "上传失败!");

}

}

/*}*/

}

ResponseUtil.write(response, jsonObject);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值