图片存储添加展示
程序员文章站
2022-04-13 14:09:56
...
1.数据表设计
picture字段使用varchar类型存放,长度可定为100
存放:表中存放相对地址
2.程序实现(需JS配合)
3.VM中图片信息显示
从表中去除该字段的数值,与资源存放服务器中的地址进行组合,再到页面展示
即,假定表中存放
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
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