前言

网上商城中的淘宝图片要显示在页面的前提是图片应该已经在数据库里面,那么怎么实现图片的上传功能呢,这就是今天要说的主题。

内容

需求:

商城后台需要添加图片文件,用来图片显示

解决方式:

Struts2框架中文件上传

*文件的条件

*提交方式为POST(文件大小不用限制),采用GET方式提交的文件大小有限制。

*表单上传项必须有一个name属性

*表单的enctype属性值需要时multipart/form-data

*前台显示:通过提交form表单提交表单数据,给form表单一个action路径

DEMO部分

  • 前台表单部分

<form id="userAction_save_do" name="Form1" action="${pageContext.request.contextPath}/adminProduct_save.action" method="post" enctype="multipart/form-data">
<table>
<tr>
<td width="18%" align="center" bgColor="#f5fafe" class="ta_01">
商品图片:
</td>
<td class="ta_01" bgColor="#ffffff" colspan="3">
<input type="file" name="upload"/>
</td>
</tr>
</table>
</form>

  • Action类

/*
* 说明:后台商品管理的action
* 作者:周丽同
*/
public class AdminProductAction extends ActionSupport implements ModelDriven<Product>{
//模型驱动使用的对象
private Product product = new Product();
public Product getModel(){
return product;
}
//注入商品的service
private ProductService productService;
public void setProductService(ProductService productService) {
this.productService = productService;
} //文件上传需要的参数:
private File upload;//上传的文件
private String uploadFileName;//接收文件上传的文件名
private String uploadContext;//接收文件上传的文件的MIME的类型 public void setUpload(File upload) {
this.upload = upload;
} public void setUploadFileName(String uploadFileName) {
this.uploadFileName = uploadFileName;
} public void setUploadContext(String uploadContext) {
this.uploadContext = uploadContext;
} //保存商品的方法
public String save() throws IOException{
//调用service完成保存操作
product.setPdate(new Date());
if(upload != null){
//获得文件上传的磁盘绝对路径:
String realPath = ServletActionContext.getServletContext().getRealPath("/products");
//创建一个文件:
File diskFile = new File(realPath+"//"+uploadFileName);
//文件上传:
FileUtils.copyFile(upload, diskFile);
product.setImage("products/"+uploadFileName);
}
//将数据保存到数据库
productService.save(product);
//页面跳转
return "saveSuccess";
}
}

  • Service类

/*
*说明:商品的业务层代码
*作者:周丽同
*/
@Transactional
public class ProductService {
//业务层保存商品的方法
public void save(Product product) {
// TODO Auto-generated method stub
productDao.save(product);
}
}

  • Dao类

/*
* 说明:添加商品
* 作者:周丽同
*/
public class ProductDao extends HibernateDaoSupport {
//DAO层保存商品的方法
public void save(Product product) {
// TODO Auto-generated method stub
this.getHibernateTemplate().save(product);
}
}

  • Struts.xml

<!-- 配置添加商品的action -->
<action name="adminProduct_*" class="adminProductAction" method="{1}">
<result name="saveSuccess" type="redirectAction">adminProduct_findAll.action?page=1</result> <interceptor-ref name="PrivilegeInterceptor"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</action>

小结

这些东西自己还得多多总结啊!

感谢您的宝贵时间······

SSH—网上商城之商品图片文件上传的更多相关文章

  1. PHP代码篇(五)--如何将图片文件上传到另外一台服务上

    说,我有一个需求,就是一个临时功能.由于工作开发问题,我们有一个B项目,需要有一个商品添加的功能,涉及到添加商品内容,比如商品名字,商品描述,商品库存,商品图片等.后台商品添加的接口已经写完了,但是问 ...

  2. springmvc图片文件上传接口

    springmvc图片文件上传 用MultipartFile文件方式传输 Controller package com.controller; import java.awt.image.Buffer ...

  3. SpringMvc MultipartFile 图片文件上传

    spring-servlet.xml <!-- SpringMVC上传文件时,需要配置MultipartResolver处理器 --> <bean id="multipar ...

  4. .Net Core 图片文件上传下载

    当下.Net Core项目可是如雨后春笋一般发展起来,作为.Net大军中的一员,我热忱地拥抱了.Net Core并且积极使用其进行业务的开发,我们先介绍下.Net Core项目下实现文件上传下载接口. ...

  5. SpringMvc commons-fileupload图片/文件上传

    简介 SpringMvc文件上传的实现,是由commons-fileupload这个jar包实现的. 需求 在修改商品页面,添加上传商品图片功能. Maven依赖包 pom.xml <!-- 文 ...

  6. PHP 图片文件上传代码

    通过 PHP,可以把文件上传到服务器.里面加入一些图片的判断,如果不加判断文件的类型就可以上传任意格式的文件. 为了网站的安全,肯定不让上传php文件,如果有人进入你的后台,上传了一个php文件,你的 ...

  7. PHP 图片文件上传代码分享

    分享下php上传图片文件的一段代码,挺不错的. 通过 PHP,可以把文件上传到服务器.加入一些图片的判断,如果不加判断文件的类型就可以上传任意格式的文件. 当然了,会禁止上传php文件,以及其它程序代 ...

  8. PHP图片文件上传类型限制扩展名限制大小限制与自动检测目录创建。

    程序测试网址:http://blog.z88j.com/fileuploadexample/index.html 代码分为两部分: 一部分form表单: <!doctype html> & ...

  9. iOS分享 - AFNetworking之多图片/文件上传

    在分享经验之前,先说点题外话,之前的一个项目涉及到了多图片的上传,本来以为是一个很简单的事情,却着实困扰了我好久,究其原因,一是我不够细心,二是与后台人员的交流不够充分.在此,我想将我的老师常说的一句 ...

随机推荐

  1. Quartz 定时任务(含Redis)

    一  定时任务基础: MQ:Message Queue消息队列服务器:MSMQ.ActiveMQ.Redis等项目任务:确定邮件的发送,重置密码的发送(发送可能会很慢,而且有可能还需要重试),用消息队 ...

  2. htmlunit 自动化提交/获取网页数据,自动化测试

    开源组件: https://sourceforge.net/projects/htmlunit/ demo public void post() { try { WebClient client = ...

  3. c# OrderBy 实现List升序降序

    本文转载自:http://blog.csdn.net/chadcao/article/details/8730132 1)前台代码 <%@ Page Language="C#" ...

  4. ajax 原理

    Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面.    其中最关键的一步就是从服务器获得请求数据. ...

  5. Dubbo实现RPC调用使用入门

    使用Dubbo进行远程调用实现服务交互,它支持多种协议,如Hessian.HTTP.RMI.Memcached.Redis.Thrift等等.由于Dubbo将这些协议的实现进行了封装了,无论是服务端( ...

  6. 远程摄像头软件mjpg-streamer使用指南

    转 自:http://bbs.hdchina.org/viewthread.php?tid=94749 mjpg-streamer 可以通过文件或者是HTTP方式访问linux UVC兼容摄像头.可以 ...

  7. mysql应用基本操作语句(转)

    二.库操作 1..创建数据库 命令:create database <数据库名> 例如:建立一个名为xhkdb的数据库 mysql> create database xhkdb; 2 ...

  8. vue axios 应用

    vue安装axios cnpm install axios 安装成功后/项目/node_modules/目录下有axios文件夹 在package.json文件中devDependencies字段中添 ...

  9. SqlServer——存储过程(未完工)

    http://www.cnblogs.com/blsong/archive/2009/11/30/1613534.html http://blog.csdn.net/lenotang/article/ ...

  10. 将openfire部署到CentOS云服务器上

    http://ishere.cn/2014/07/25/centos-64bit-openfire.html      CentOS 64位安装openfire http://www.cnblogs. ...