您的位置:首页 > 编程语言 > Java开发

java 上传图片 ,浏览完后可见 针对所有浏览器

2013-10-22 10:24 260 查看
需求,图片上传,需要浏览完后就在指定位置显示图片,支持所有浏览器。

分析,不能只用JS完成,不可能支持所有浏览器,所以只能用后台技术。

JSP:

<dl class="l UbLeft">
<dt><a href=""><img src="${basePrefix}/images/meh.jpg" id="photo1-img" width="108" height="105" /></a><input type="hidden" id="photo1-val" name="url1" value=""/></dt>
<dd><input type="file" id="photo1" class="Dina l" name="userPic" onchange="uploadUserPicMore(this)"/><a href="javascript:void(0)" onclick="delUpload(1)"><f:message key="member_jsp.jsp.photo.uploadPhoto.jsp.delete" /></a></dd>
</dl>


js:

function uploadUserPicMore(file){
var id = $(file).attr('id');
$("#loading").ajaxStart(function(){
$(this).show();
}).ajaxComplete(function(){
$(this).hide();
});
$.ajaxFileUpload(
{
url:'/uploadUserPic.html',
secureuri:false,
fileElementId:id,
dataType: 'json',
data:{},
success: function (data)
{
$("#"+id+"-img").attr("src",data.url);
$("#"+id+"-val").val(data.url);
},
error: function (data, status, e)
{
alert(e);
}
}
);
return false;
}


java:

@ResponseBody
@RequestMapping(method = RequestMethod.POST, value = "/uploadUserPic.html")
public String saveUserPic(HttpServletRequest request,
@RequestParam(value = "userPic", required = true) MultipartFile file)
throws Exception {
unpackCookie(request);
String fileName = null;
String realPath = com.joytrav.Constant.FILE_REAL_PATH
+ com.joytrav.Constant.USER_UPLOAD_DIR;
if (!file.isEmpty()) {
String fileType = FileUtils.getFileType(file.getOriginalFilename());
String name = RandomUtils.getRandomFileName();
fileName = name + "." + fileType;
byte[] bytes = file.getBytes();
String newFileName = realPath + File.separator + fileName;
FileOutputStream fos = new FileOutputStream(newFileName);

fos.write(bytes); // 写入文件
fos.close();
File newFile = new File(newFileName);
if (newFile.isFile()) {

String url = com.joytrav.Constant.FILE_DOMAIN
+ com.joytrav.Constant.USER_UPLOAD_URL + "/"
+ fileName;
return "{'url':'" + url + "'}";
}
}
return null;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: