Struts之文件上传

Struts之文件上传,第1张

Struts之文件上传

文件上传( 三种上传方案):
1、上传到tomcat服务器

      ①自己的电脑,项目在哪里,图片就在哪里;

      ②云服务器:是没有CDEF盘的,只有/根目录

 2(用的多)、上传到指定文件目录,添加服务器与真实目录的映射关系,从而解耦上传文件与tomcat的关系文件服务器和web服务器通常是一个,但是文件目录与Tomcat目录肯定不是同一个

3、在数据库表中建立二进制字段,将图片存储到数据库;

      安全性比第二种高

服务器:ECS云服务器

struts上传的注意:
1、上传文件界面:enctype="multipart/form-data"    type="file"

2、struts必须按照指定的格式去接收参数变量

开发:

         upload.jsp

         web层:

                   跳转方法-->upload.jsp

                  上传的方法:①将指定的文件图片上传到文件目录;

                                       ②将指定图片的请求映射地址更新到数据

一、使用第二种文件上传

①.创建upload.jsp

注意:要记得定义多功能表单    enype="multiput/form-data"

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here




②.在ClzAction 增加两个方法

package com.zking.crud.web;

import java.io.File;

import org.apache.commons.io.FileUtils;

import com.opensymphony.xwork2.ActionSupport;
import com.zking.crud.dao.ClzDao;
import com.zking.crud.entity.Clz;
import com.zking.crud.util.baseAction;
import com.zking.crud.util.PageBean;

public class ClzAction extends baseAction{
	private Clz clz=new Clz();
	private ClzDao clzDao=new ClzDao();
	
	private File img;
	private String imgFileName;
	private String imgContentType;

	public File getImg() {
		return img;
	}

	public void setImg(File img) {
		this.img = img;
	}

	public String getImgFileName() {
		return imgFileName;
	}

	public void setImgFileName(String imgFileName) {
		this.imgFileName = imgFileName;
	}

	public String getImgContentType() {
		return imgContentType;
	}

	public void setImgContentType(String imgContentType) {
		this.imgContentType = imgContentType;
	}
	
	public String list() throws Exception {
		PageBean pageBean=new PageBean();
		pageBean.setRequest(req);
		this.result=this.clzDao.list(clz, pageBean);
		this.req.setAttribute("result", result);
		this.req.setAttribute("pageBean", pageBean);
		return LIST;
	}
	
	
	public String toEdit() throws Exception {
		int cid=clz.getCid();
		if(cid!=0) {
			this.result=this.clzDao.list(clz, null).get(0);
			this.req.setAttribute("result",result);
		}
		return TOEDIT;
	}
	
	public String add() throws Exception {
		this.clzDao.add(clz);
		return TOLIST;
	}
	
	public String edit() throws Exception {
		this.clzDao.edit(clz);
		return TOLIST;
	}
	
	public String del() throws Exception {
		this.clzDao.del(clz);
		return TOLIST;
	}
	
	
	
	
	
	
	public String preUpload() throws Exception {
		this.result=this.clzDao.list(clz,null).get(0);
		this.req.setAttribute("result", result);
		return "upload";
	}
	
	public String upload() throws Exception {
		//img代表客户选择的文件或者图片,接下来要将图片上传到其他地方
		//img代表了源头,要将其写入目的地target
		String destDir="F:/y1/img";
		String serverDir="/uploadImages";
		//F:/y1/img/imgFileName
		FileUtils.copyFile(img, new File(destDir+"/"+imgFileName));
		//数据库保存的值是/upload/xx.png
		//图片是在F:/y1/img
		//访问:http://localhost:8080/struts/uploadImages/xx.png
		clz.setPic(serverDir+"/"+imgFileName);
		this.clzDao.edit(clz);
		return TOLIST;
	}
	
	@Override
	public Clz getModel() {
		return clz;
	}
	
}

③.struts-sy.xml配置

/upload.jsp

④.clzList.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ taglib uri="http://jsp.veryedu.cn" prefix="z"%>	
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>	






工作列表

.page-item input {
	padding: 0;
	width: 40px;
	height: 100%;
	text-align: center;
	margin: 0 6px;
}

.page-item input, .page-item b {
	line-height: 38px;
	float: left;
	font-weight: 400;
}

.page-item.go-input {
	margin: 0 10px;
}



	

	
		
			
				ID
				班级名字
				教员
				图片
				 *** 作
			
		
		
			
			
				${b.cid }
				${b.cname }
				${b.cteacher }
				
				
				
				
					修改
					删除
					上传图片
				
			
			
		
	
	
	


⑤.server.xml中增加

⑥.结果展示

 

 

byebye~~~

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4006028.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-10-22
下一篇 2022-10-22

发表评论

登录后才能评论

评论列表(0条)

保存