文件上传

来源:互联网 发布:windows rt刷win10移动 编辑:程序博客网 时间:2024/05/19 18:16

ajaxfileupload.js

js代码如下:

function uploadPic(){ var arr = new Array();     var fileName=$("#infoPicture").val();     if(fileName!=null && fileName!=''){         arr = fileName.split(".");         if(arr[1]=='jpg'||arr[1]=='gif'){         $.ajaxFileUpload({                url: '${base}/info/ajaxUpLoadImg.json', //用于文件上传的服务器端请求地址                type: 'post',                secureuri: false, //一般设置为false                fileElementId: "infoPicture", //文件上传空间的id属性 <span style="font-family: Arial, Helvetica, sans-serif;"><input type="file" name="infoPicture" id="infoPicture"/></span>                dataType: 'json', //返回值类型 一般设置为json                success: function (data, status)  //服务器成功响应处理函数                {                    $("#ImgPr").attr("src", data.imgurl);                    $("#infoPic").val(data.imgurl);//把服务器返回的图片地址,放在隐藏域中,方便ajax提交表单时,图片地址的获取。                },                error: function (data, status, e)//服务器响应失败处理函数                {                    alert(e);                }            })        }else{                alert("请上传jpg||gif文件");                return;            }         }else{             alert("请选择文件");             return;          }}
html代码:

<tr>                  <td width="25%"> 上传图片: </td>                  <td width="50%"><input type="file" name="infoPicture" id="infoPicture"/><input type="hidden" name="infoPic" id="infoPic"/></td>                </tr>                <tr>                  <td width="25%"> 图片预览: </td>                  <td width="50%"><img id="ImgPr" width="120" height="120" /><input type="button" id="upload" value="upload" onclick="uploadPic()"/></td>                </tr>

服务器段代码

@RequestMapping(value="/ajaxUpLoadImg",method=RequestMethod.POST)@ResponseBody    public void  ajaxUpLoadImg(@RequestParam("infoPicture")MultipartFile fileToUpload,HttpServletRequest request , HttpServletResponse response) throws Exception  {response.setContentType("text/html;charset=UTF-8");String originalFilename = fileToUpload.getOriginalFilename();if (StringUtils.isNotEmpty(originalFilename)) {String arr[] = originalFilename.split("\\.");String fileName = this.getRandomFileName()+"."+arr[1];FileUtils.copyInputStreamToFile(fileToUpload.getInputStream(), new File(bannerImgUpload,fileName));PrintWriter out = response.getWriter();String res = "{imgurl:'" + bannerImgUpload+ fileName + "'}";out.print(res);out.flush();}}
PS:如果不这样写
<span style="font-size:18px;color:#ff0000;">response.setContentType("text/html;charset=UTF-8");</span>
,返回值会是这样的<pre style="word-wrap: break-word; white-space: pre-wrap;">frfrfrg</pre>

0 0
原创粉丝点击