图片存储添加展示

1.数据表设计

picture字段使用varchar类型存放,长度可定为100

存放:表中存放相对地址

2.程序实现(需JS配合)

public class ProductUploadAction extends BaseAction {
	private static final long serialVersionUID = 1L;

	private File fileupload;// 附件需要和控件的名称一致
	
	public File getFileupload() {
		return fileupload;
	}

	public void setFileupload(File fileupload) {
		this.fileupload = fileupload;
	}

	/**
	 *上传图片
	 * 
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	@Action(value = "uploadpic", results = { @Result(type = "json") })
	public String uploadPic() throws Exception {
		//ajax 请求上传图片功能
		FileInputStream stream = new FileInputStream(fileupload);
		//fst上传图片截图打水印操作,返回图片路径
		String imgurl = UploadFileUtil.uploadFile(stream, "jpg", "hello");
		ProductAttachVO productAttachVO = new ProductAttachVO();
		logger.info(imgurl);
		String code = "";
		if (StringUtil.isNotBlank(imgurl)) {
			code = "1";
			String imgurlString = Constant.IMGPATH_P0 + imgurl;
			// 获取图片md5
			String imgmd5 = MD5Util.getFileMD5String(imgurlString);
			productAttachVO.setImgmd5(imgmd5);
			productAttachVO.setImgname(imgmd5);
			productAttachVO.setImgurl(imgurl);
			productAttachVO.setImgurlview(imgurlString);
			productAttachVO.setImgtype("jpg");
		}
		JSONObject json = new JSONObject();
		json.put("code", code);// 0成功1失败
		json.put("msg", "成功上传");// 错误信息
		json.put("data", productAttachVO);// 返回数据
		output(json);
		return null;
	}

	/**
	 * 删除图片
	 * 
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	@Action(value = "deletePic", results = { @Result(type = "json") })
	public String deletePic() throws Exception {
		JSONObject json = new JSONObject();
		String imgurl = request.getParameter("imgurl");// 商品ID
		// 删除图片服务器上图片 目前不实现
		// 保存日志
		logger.info(imgurl);
		json.put("code", "1");// 0成功1失败
		json.put("msg", "删除成功");// 错误信息
		json.put("data", "");// 返回数据
		output(json);
		return null;
	}	
	// 封装json
	public void output(JSONObject json) {
		try {
			HttpServletResponse response = getResponse();
			response.setContentType("text/json;charset=UTF-8");
			response.setHeader("Pragma", "No-cache");
			response.setHeader("Cache-Control", "no-cache");
			response.setDateHeader("Expires", 0);
			response.getWriter().write(json.toString());
			response.getWriter().flush();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}	    
}


3.VM中图片信息显示

从表中去除该字段的数值,与资源存放服务器中的地址进行组合,再到页面展示
<img src="$!merchant.organizationCertificate"  width="54" height="54" />

即,假定表中存放
p1/g1/M02/00/02/rB0KDFKPAgu9X0qRAA1rIuRd3Es729xxx.jpg
实际显示时的链接为
http://portto.dhportresource.com/p1/g1/M02/00/02/rB0KDFKPAgu9X0qRAA1rIuRd3Es729xxx.jpg
自动隐藏前部的文件夹路径
p1指小图

4.若图像显示不出来 可以F12找到该图像的链接  在浏览器中显示是否可以显示若不则是路径问题
如http://css.dhportresource.com/amservice/commonaddress/image/bg.gif

猜你喜欢

转载自mingyundezuoan.iteye.com/blog/2210309