uploadpicturecontrol.java

来自「java带进度条上传尽量不要让站长把时间都花费在为您修正说明上」· Java 代码 · 共 117 行

JAVA
117
字号
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.jmwl.control;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.upload.FormFile;

import com.jmwl.biz.PhotoService;
import com.jmwl.biz.PictureService;
import com.jmwl.common.BlogException;
import com.jmwl.common.DateTime;
import com.jmwl.dao.PictureDAO;
import com.jmwl.dto.PictureDTO;
import com.jmwl.form.UploadpictureForm;

/** 
 * MyEclipse Struts
 * Creation date: 08-22-2008
 * 
 * XDoclet definition:
 * @struts.action path="/uploadpicture" name="uploadpictureForm" input="/form/uploadpicture.jsp" scope="request" validate="true"
 */
public class UploadpictureControl extends Action {
	/*
	 * Generated Methods
	 */

	/** 
	 * Method execute
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 * @throws BlogException 
	 */
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws BlogException {
		UploadpictureForm uploadpictureForm = (UploadpictureForm) form;// TODO Auto-generated method stub
		FormFile ff=uploadpictureForm.getPicture();
		String picture_type=ff.getFileName();
		int photo_id=uploadpictureForm.getPhoto_id();
		int user_id = ((Integer) request.getSession().getAttribute("userid")).intValue();
		ActionErrors errors=new ActionErrors();
		if(!picture_type.endsWith(".jpg"))
		{
			ActionMessage message=new ActionMessage("upload.file.is.not.picture");
			errors.add("picture", message);
			this.addErrors(request, errors);
			return new ActionForward(mapping.getInput());
		}
		String picture_name=uploadpictureForm.getPicture_name();
		PictureService ptsce=new PictureService();
		if(!ptsce.checkPictureName(picture_name, photo_id))
		{
			ActionMessage message=new ActionMessage("upload.file.name.is.exist");
			errors.add("picture", message);
			this.addErrors(request, errors);
			return new ActionForward(mapping.getInput());
		}
		DateTime dt=new DateTime();
		String timename=dt.getTimeName()+".jpg";
		String realpath=this.servlet.getServletContext().getRealPath("allpictures")+"\\"+timename;
		String picture_description=uploadpictureForm.getDescription();
		//这个user_id要从session里获得 
		
		String picture_uri="allpictures"+"\\"+timename;
		try {
			InputStream is=ff.getInputStream();
			FileOutputStream fos=new FileOutputStream(realpath);
			byte[] b=new byte[1024];
			int k=0;
			while((k=is.read(b, 0, 1024))!=-1)
			{
				fos.write(b, 0, k);
			}
			fos.flush();
			is.close();
			fos.close();
		} catch (FileNotFoundException e) {
			throw new BlogException("上传文件失败,服务器出现异常");
		} catch (IOException e) {
			throw new BlogException("上传文件失败,服务器出现异常");
		}
		PictureDTO ptdto=new PictureDTO();
		ptdto.setPhoto_id(photo_id);
		ptdto.setPicture_description(picture_description);
		ptdto.setPicture_name(picture_name);
		ptdto.setPicture_uri(picture_uri);
		ptdto.setUser_id(user_id);
		if(ptsce.addPicture(ptdto))
		{
			PhotoService psce=new PhotoService();
			psce.changeFirstPicture(photo_id, picture_uri);
			request.setAttribute("succ", "上传相片成功!");
			request.setAttribute("photo_id", photo_id);
			return mapping.findForward("success");
			
		}
		else
			return mapping.findForward("error");
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?