关于前端文件上传后将文件保存至服务器路径存储在数据库并在相应页面展示的总结

前期准备

1.开发环境及框架的搭建。(基于SSH开发框架)
2.数据库建表,表应该有一个字段用来存储文件在服务区上的存储路径。
3.map.xml文件
4.Action.xml文件
5.写好实体类及get()set()方法
6.DAO层
7.Action()实现,Action()里面需要实现文件的上传服务器功能和路径存储数据库功能。
8.前端页面,前端页面需要实现文件的选择功能。

具体实例展示

1.数据库建表

SQLsever可视化工具
其中image字段用来存储文件在服务器上的存储路径。
2.增删查改(map.xml文件)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"  "sql-map-2.dtd">
<sqlMap>
	<!-- Start -->
	<typeAlias alias="finishwinewl" type="com.qkj.finishwinewl.bean.finishwinewlBean" />
	<select id="finishwinewl_getfinishwinewl" resultClass="finishwinewl" parameterClass="java.util.Map">
	
		<![CDATA[ 
			Select * From qkj_t_finishwinewl
		]]>
		<dynamic prepend="WHERE"><!--所有查询项目-->
		    <isNotNull prepend="AND" property="uuid"><![CDATA[ uuid=#uuid# ]]></isNotNull>
		</dynamic>
	</select>
	<insert id="finishwinewl_addfinishwinewl" parameterClass="finishwinewl">
		<![CDATA[ 
			Insert Into qkj_t_finishwinewl (fid,code,fragrance,detection_info,quality_standard,retail_price,tasting_info,drinking_method,introduction,name,image,report_number)
			Values (#fid#,#code#,#fragrance#,#detection_info#,#quality_standard#,#retail_price#,#tasting_info#,#drinking_method#,#introduction#,#name#,#image#,#report_number#)
		]]>
		<selectKey resultClass="int" keyProperty="uuid">
		<![CDATA[ 
			Select @@IDENTITY
		]]>
		</selectKey>
	</insert>
	<update id="finishwinewl_mdyfinishwinewl" parameterClass="finishwinewl">
		<![CDATA[
			Update qkj_t_finishwinewl
			Set 
		     
		      fid=#fid#,
		      code=#code#,
		      fragrance=#fragrance#,
		      detection_info=#detection_info#,
		      quality_standard=#quality_standard#,
		      retail_price=#retail_price#,
		      tasting_info=#tasting_info#,
		      drinking_method=#drinking_method#,
		      introduction=#introduction#,
		      report_number=#report_number#,
		      name=#name#,
		      image=#image#		    Where uuid = #uuid#
		]]>
	</update>


	<delete id="finishwinewl_delfinishwinewl" parameterClass="finishwinewl">
	<![CDATA[
		Delete From  qkj_t_finishwinewl Where uuid=#uuid#
	]]>
	</delete>
	<!-- End -->
</sqlMap>

3.dao层

package com.qkj.finishwinewl.dao;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.iweb.sys.AbstractDAO;

/**
 * @author xiaoyan
 *
 */
public class finishwinewlDao extends AbstractDAO{

    public List list(Map<String, Object> map) {
		return super.list("finishwinewl_getfinishwinewl", map);
	}
	
	public Object get(Object uuid) {
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("uuid", uuid);
		return super.get("finishwinewl_getfinishwinewl", map);
	}
	
	public Object add(Object parameters) {
		return super.add("finishwinewl_addfinishwinewl", parameters);
	}

	public int save(Object parameters) {
		return super.save("finishwinewl_mdyfinishwinewl", parameters);
	}

	public int delete(Object parameters) {
		return super.delete("finishwinewl_delfinishwinewl", parameters);
	}

	public int getResultCount() {
		return super.getResultCount();
	}
	
}

4.Action实现

package com.qkj.finishwinewl.action;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts2.ServletActionContext;
import org.iweb.sys.ContextHelper;
import org.iweb.sys.Parameters;
import org.iweb.sys.ToolsUtil;

import com.opensymphony.xwork2.ActionSupport;
import com.qkj.finishwinewl.dao.finishwinewlDao;
import com.qkj.finishwinewl.bean.finishwinewlBean;

/**
 * @author yanluhai 
 *
 */
public class finishwinewlAction extends ActionSupport{
	private static final long serialVersionUID = 1L;
	private static Log log = LogFactory.getLog(finishwinewlAction.class);
	private Map<String, Object> map = new HashMap<String, Object>();
	private finishwinewlDao dao = new finishwinewlDao();
	private finishwinewlBean finishwinewl;
	private List<finishwinewlBean> finishwinewls;
	private String message;
	private String viewFlag;
	private int recCount;
	private int pageSize;
	private int currPage;
	private String path = "<a href='/manager/default'>首页</a>&nbsp;&gt;&nbsp;列表";
	private String []  imageUpload;
	private File fileUpload;
	private String fileUploadFileName; // 文件名+FileName
	
	
	
	
	

	public File getFileUpload() {
		return fileUpload;
	}

	public void setFileUpload(File fileUpload) {
		this.fileUpload = fileUpload;
	}

	public static Log getLog() {
		return log;
	}

	public static void setLog(Log log) {
		finishwinewlAction.log = log;
	}

	public Map<String, Object> getMap() {
		return map;
	}

	public void setMap(Map<String, Object> map) {
		this.map = map;
	}

	public finishwinewlDao getDao() {
		return dao;
	}

	public void setDao(finishwinewlDao dao) {
		this.dao = dao;
	}

	public finishwinewlBean getFinishwinewl() {
		return finishwinewl;
	}

	public void setFinishwinewl(finishwinewlBean finishwinewl) {
		this.finishwinewl = finishwinewl;
	}

	public List<finishwinewlBean> getFinishwinewls() {
		return finishwinewls;
	}

	public void setFinishwinewls(List<finishwinewlBean> finishwinewls) {
		this.finishwinewls = finishwinewls;
	}

	public String getMessage() {
		return m
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值