显示效果
图片显示路径
页面代码(导航栏)
上传图片显示,没有取到图片。。
修改头像形成图片
修改图片代码
public void upload_avatar(HttpServletRequest request,
HttpServletResponse response) throws IOException {
response.setContentType("text/html;charset=UTF-8");
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0L);
try {
String resourceOneHomeUpload= request.getSession().getServletContext().getInitParameter("resourceOneHomeUpload");
String uploadFilePath = this.configService.getSysConfig()
.getUploadFilePath();
String filePath = resourceOneHomeUpload+File.separator+uploadFilePath+File.separator+"buyer_photo";
Map map = new HashMap();
File uploadDir = new File(filePath);
if (!uploadDir.exists()) {
uploadDir.mkdirs();
}
String customParams = CommUtil.null2String(request
.getParameter("custom_params"));
System.out.println("custom_params = " + customParams);
String imageType = CommUtil.null2String(request
.getParameter("image_type"));
if ("".equals(imageType)) {
imageType = ".jpg";
}
String bigAvatarContent = CommUtil.null2String(request
.getParameter("big_avatar"));
User user = SecurityUserHolder.getCurrentUser();
String bigAvatarName = SecurityUserHolder.getCurrentUser().getId()
+ "_big";
saveImage(filePath, imageType, bigAvatarContent, bigAvatarName);
Accessory buyer_photo = new Accessory();
if (user.getPhoto() != null) {
buyer_photo = user.getPhoto();
} else {
buyer_photo.setAddTime(new Date());
buyer_photo.setWidth(105);
buyer_photo.setHeight(98);
}
buyer_photo.setName(bigAvatarName + imageType);
buyer_photo.setExt(imageType);
buyer_photo.setPath(this.configService.getSysConfig().getUploadFilePath()
+ "/buyer_photo");
if (user.getPhoto() == null) {
buyer_photo.setDeleteStatus(Boolean.valueOf(false));
buyer_photo.setAddTime(new Date());
this.accessoryService.save(buyer_photo);
}
else {
this.accessoryService.update(buyer_photo);
}
user.setPhoto(buyer_photo);
this.userService.update(user);
response.setContentType("text/xml");
response.getWriter().write("200");
} catch (Exception e) {
e.printStackTrace();
response.setContentType("text/xml");
response.getWriter().write("400");
}
}
保存图片代码
private void saveImage(String filePath, String imageType,
String avatarContent, String avatarName) throws IOException {
avatarContent = CommUtil.null2String(avatarContent);
if (!"".equals(avatarContent)) {
if ("".equals(avatarName))
avatarName = UUID.randomUUID().toString() + ".jpg";
else {
avatarName = avatarName + imageType;
}
byte[] data = _decoder.decodeBuffer(avatarContent);
File f = new File(filePath + File.separator + avatarName);
DataOutputStream dos = new DataOutputStream(new FileOutputStream(f));
dos.write(data);
dos.flush();
dos.close();
}
}
读取图片
public void getProductImg(HttpServletRequest request, HttpServletResponse response, String name)
throws IOException
{
Map<String,String> ContentTypeMap=new HashMap<String,String>();
ContentTypeMap.put("jpg", "image/jpeg");
ContentTypeMap.put("jpeg", "image/jpeg");
ContentTypeMap.put("png", "image/png");
ContentTypeMap.put("gif", "image/gif");
ContentTypeMap.put("bmp", "image/bmp");
String extend="jpg";
String imgName = request.getParameter("fileName");//得到fileName 名称
if(imgName!=null&&!"".equals(imgName)){
if(imgName.lastIndexOf(".")!=-1){
extend=imgName.substring(imgName.lastIndexOf(".")+1);
}
extend= extend.toLowerCase();
}
response.setContentType(ContentTypeMap.get(extend));//设置打印格式
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0L);
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()+ path + "/";
try {
String resourceOneHomeUpload = request.getSession()
.getServletContext()
.getInitParameter("resourceOneHomeUpload");
String imgPath1 = resourceOneHomeUpload + File.separator + imgName;
String imgPath2 = basePath
+ "resources/style/biaozhun/images/pro_nopic.jpg";
// 判断该路径下的文件是否存在
File file = new File(imgPath1);
if (file.exists() && !imgName.equals("")) {
DataOutputStream temps = new DataOutputStream(
response.getOutputStream());
DataInputStream in = new DataInputStream(new FileInputStream(
imgPath1));
byte[] b = new byte[2048];
while ((in.read(b)) != -1) {
temps.write(b);
}
temps.flush();
in.close();
temps.close();
} else {
DataOutputStream temps = new DataOutputStream(
response.getOutputStream());
URL url = new URL(imgPath2);
DataInputStream in = new DataInputStream(url.openStream());
byte[] b = new byte[2048];
while ((in.read(b)) != -1) {
temps.write(b);
}
temps.flush();
in.close();
temps.close();
}
} catch (Exception e) {
// out.println(e.getMessage());
}
附件类