上传图片到数据库

 1 /**
 2      * 处理提交公司信息
 3      * @param request
 4      * @param response
 5      * @return
 6      * @throws IOException
 7      */
 8     @RequestMapping(value = "/companyInfo", method = RequestMethod.POST)
 9     public ModelAndView companyInfo(HttpServletRequest request,
10             HttpServletResponse response) throws IOException {
11
12         ModelAndView mv = new ModelAndView();
13         SysUserModel sysUserModel = Context.getCurrentUser();
14         final String memorySize = Config.get("memorySize");// 内存缓冲大小
15         final String sizeMax = Config.get("sizeMax");// 文件允许的最大值
16
17         final PrintWriter out = response.getWriter();
18         if (ServletFileUpload.isMultipartContent(request)) {
19             try {
20                 // 创建磁盘工厂
21                 DiskFileItemFactory factory = new DiskFileItemFactory();
22                 // 设置内存缓冲大小
23                 factory.setSizeThreshold(Integer.parseInt(memorySize));
24                 // 设置临时目录
25                 String tempdir = request.getServletContext().getRealPath(
26                         "/tempDir");
27                 File file = new File(tempdir);
28                 if (!file.exists()) {
29                     file.mkdir();
30                 }
31                 factory.setRepository(file);
32                 // 创建处理工具
33                 ServletFileUpload upload = new ServletFileUpload(factory);
34                 // 设置最大允许的尺寸
35                 int setFileSize = Integer.parseInt(sizeMax);
36                 int fileSize = request.getContentLength();
37                 upload.setSizeMax(setFileSize);
38
39                 if (fileSize <= setFileSize) {
40                     // 解析
41                     String contentType = request.getContentType();
42                     if (contentType == null && "".equals(contentType)) {
43                         mv.addObject("msg", "文件上传失败");
44                     }
45
46                     Class<?> clazz = SysCompanyModel.class;
47                     SysCompanyModel sysCompanyModel = (SysCompanyModel) clazz.newInstance();
48                     if(sysUserModel.getCompanyId()!=null){
49                         sysCompanyModel = sysCompanyService.getSysCompanyModelById(sysUserModel.getCompanyId());
50                     }
51
52                     MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
53                     Map<String, MultipartFile> map = multipartRequest.getFileMap();
54                     Enumeration params = multipartRequest.getParameterNames();
55                     while (params.hasMoreElements()) {
56                         String name = (String) params.nextElement();
57                         String value = multipartRequest.getParameter(name);
58                         BeanUtils.setProperty(sysCompanyModel,name,value);
59                     }
60
61                     Iterator<String> files = multipartRequest.getFileNames();
62
63                     while (files.hasNext()) {
64                         String name = files.next();
65                         MultipartFile multipartFile = multipartRequest.getFile(name);
66
67                         if(multipartFile.getSize()!=0){
68                             byte[] data = multipartFile.getBytes();
69                             if(data != null) {
70                                 BeanUtils.setProperty(sysCompanyModel,name, data);
71                             }
72                         }
73                     }
74
75                     sysCompanyModel = sysCompanyService.save(sysCompanyModel);
76                     sysUserModel.setCompanyId(sysCompanyModel.getCompanyId());
77                     sysUserModel = sysUserService.save(sysUserModel);
78
79                     //request.getSession().setAttribute("userInfo", sysUserModel);
80                     //Context.setRequest(request);
81                     mv.setViewName(MVUtils
82                             .redirect("/member/companyInfo.shtml"));
83                 }else{
84                     mv.addObject("msg", "上传文件过大");
85                 }
86             } catch (Exception e) {
87                 mv.addObject("msg", "文件上传失败");
88             }
89         }
90         return mv;
91     }
时间: 2024-09-18 19:09:37

上传图片到数据库的相关文章

ASP.NET MVC 4 - 上传图片到数据库

这里演示如何在MVC WEB应用程序如何上传图片到数据库以及如何在WEB页面上显示图片.数据库表对应整个Model类,不单图片数据一个字段,我们从数据表的定义开始: CREATE TABLE [dbo].[Products] ( [ProductID] INT IDENTITY (1, 1) NOT NULL, [Name] NVARCHAR (MAX) NOT NULL, [Description] NVARCHAR (MAX) NOT NULL, [Price] DECIMAL (18, 2

ASP + ACCESS 上传图片到数据库与将图片读出数据库显示之实现(详细版)

ASP上传图片至数据库内功能的实现 一般的无组件上传类,其上传过程是将图片先保存到指定文件夹,与此同时将该路径保存至数据库字段的.显示图片则是根据数据库表中的路径字段对应显示的.当然有关图片的管理,比如删除:只删除了路径,实际的图片需要根据该路径通过FSO进行删除--那有没有这样一种情况:将图片直接作为一个字段的值保存.对图片的操作就象是对数据字段的操作一样熟练.答案是肯定的,只是将该字段的类型设为OLE对象 知识点:OLE 对象字段用来存储诸如 Microsoft Word 或 Microso

C# winform DevExpress上传图片到数据库【转】

实现功能如下图: 注明:此文使用的是DevExpress控件,winform 原生控件也是一样使用方法. 1.点击选择图片按钮,功能为通过对话框选择要上传的文件,并将该文件在下面的PictureEdit中显示出来.具体代码如下: private void btnChoosePic_Click(object sender, EventArgs e) { ShowPic(pictureEdit1); } /// <summary> /// 选择图片 /// </summary> ///

java上传图片到数据库,涉及压缩文件zip/rar上传等

项目中有这个需求: 1)上传文件通过公司平台的校验,校验成功后,通过接口,返回文件流: 2)我们根据这个文件流进行操作.这里,先将文件流复制文件到项目临时目录WEB-INF/temp;文件使用完毕,删除之: 项目中用到了下面几点: 解压zip.rar文件: 临时文件存放,使用完毕删除之: 对压缩包中的图片进行裁剪,生成预览图,并保存: 根据产品族.产品类型.产品系列展示图片: 项目代码比较多,慢慢贴出来,不足之处欢迎指正. 1.项目结构: 2.相关代码: ProductController: p

在JSP中上传图片到数据库中

1 第一步:建立数据库 2 create table test_img(id number(4),name varchar(20),img long raw); 3 第二步:(NewImg.html) 4 <html><head><title>添加图片</title></head> 5 <body> 6 添加图片<br> 7 <form method="post" action="ins

对一个前端使用AngularJS后端使用ASP.NET Web API项目的理解(1)

chsakell分享了一个前端使用AngularJS,后端使用ASP.NET Web API的项目. 源码: https://github.com/chsakell/spa-webapi-angularjs文章:http://chsakell.com/2015/08/23/building-single-page-applications-using-web-api-and-angularjs-free-e-book/ 这里记录下对此项目的理解.分为如下几篇: ● 对一个前端使用AngularJ

android-----基于XUtils照片上传客户端以及服务器端实现

想必大家都在android中或多或少的使用过XUtils框架了吧,今天我们通过他来实现一个照片上传的Demo,希望能够对大家有帮助,下一篇再从源码角度来分析下XUtils的HttpUtils是怎么一个执行流程的: 先上执行效果图: 客户端实现: 首先来看布局文件: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.a

一个简易的发布电影票的项目

原文:一个简易的发布电影票的项目 源代码下载地址:http://www.zuidaima.com/share/1601881858886656.htm 在首页(index.html)页面上,按照影片发表时间显示所有影片 点击index.html页面右边的影片类型链接,在页面左边显示对应影片 根据影片的名称进行搜索 当鼠标悬停到影片的图片上,显示影片的详细信息 发布新影片(不要求实现上传图片功能) 发布新影片时可以使用struts2组件上传图片 提供数据库脚本 分层实现 使用struts2框架和j

如何使用事务回滚

采用FileUpload控件上传图片到数据库,Default.aspx是由Gridview连接数据库.将附件和信息写在同一个事务里.