`
ren2881971
  • 浏览: 109774 次
社区版块
存档分类
最新评论

上传图片和文件保存到数据库中(SmartUpload)

    博客分类:
  • j2ee
 
阅读更多
package demo;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.jspsmart.upload.File;
import com.jspsmart.upload.Request;
import com.jspsmart.upload.SmartUpload;
import com.jspsmart.upload.SmartUploadException;

import demo.sql.DaoTest;
import demo.sql.SQlConnectionTest;

public class UploadFile extends HttpServlet {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private PreparedStatement ps = null;

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		super.doGet(req, resp);
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		DaoTest dt = new DaoTest();
		SmartUpload su = new SmartUpload();
		su.initialize(this.getServletConfig(), req, resp);
		su.setMaxFileSize(500 * 1024 * 1024);
		try {
			su.upload("GBK");
		} catch (SmartUploadException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		Request smartRequest = su.getRequest();
		String name = smartRequest.getParameter("name");

		try {

			int count = su.getFiles().getCount();
			for (int i = 0; i < count; i++) {
				File myFile = su.getFiles().getFile(i);
				String fileName = myFile.getFieldName();
				String path = this.getServletContext().getRealPath("/");
				path = path + fileName;
				int fileSize = myFile.getSize();
				myFile.saveAs(path, su.SAVE_PHYSICAL);
				java.io.File file = new java.io.File(path);
				FileInputStream fis = new FileInputStream(file);
				InputStreamReader isr = new InputStreamReader(
						new FileInputStream(file));

				String sql = "insert into filetest (name,content) values(?,?)";
				System.out.println(sql);

				try {
					PreparedStatement ps = dt.getConn().prepareStatement(sql);
					ps.setString(1, name);
					// ps.setBinaryStream(2, fis, (int) fileSize);
					// ps.setBlob(2, fis,(long)fileSize);
					// ps.setCharacterStream(2, isr, (int) fileSize);
					ps.setBinaryStream(2, fis, (int) fileSize);
					dt.getConn().setAutoCommit(true);
					ps.executeUpdate();
					dt.getConn().commit();

				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				} finally {
					fis.close();
					isr.close();
					file.delete();
					try {
						SQlConnectionTest.closeAll(dt.getConn(), ps, null);
						ps = null;
					} catch (SQLException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
			}
		} catch (SmartUploadException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
	}

}


<%@ page language="java" contentType="text/html; charset=GBK"
    pageEncoding="GBK"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>Insert title here</title>
</head>
<body>
	<form id="myForm" method="post" action="UploadFile.action" enctype="multipart/form-data">
		<table>
			<tr>
			<td>
				用户名:<input type="text" id="name" name="name"/>
			</td>
			</tr>
			<tr>
				<td>
					<input type="file" id="content" name="content"/>
				</td>
			</tr>
		</table>
		<input type="submit" id="commit" name="commit"/>
	</form>
</body>
</html>
分享到:
评论

相关推荐

    jsp+jspsmartupload控件上传图片至数据库

    在本文中,我们将深入探讨如何使用JSP与jspsmartupload控件将图片上传到数据库。jspsmartupload是一款强大的JSP文件上传组件,能够帮助开发者处理用户通过表单提交的多个文件。以下是对这个技术栈的详细解析: 1. *...

    java文件上传smartUpload

    Java文件上传是Web开发中常见的功能之一,SmartUpload是一个强大的Java文件上传组件,它使得在Java应用程序中处理文件上传变得简单。在这个场景中,我们主要关注如何使用SmartUpload进行文件上传,并通过一个Demo来...

    SmartUpload文件上传小例子

    SmartUpload文件上传组件是Java Web开发中常用的一种工具,它为开发者提供了方便的文件上传功能。这个小例子展示了如何在JSP(Java Server Pages)环境中使用SmartUpload来处理用户上传的文件。SmartUpload通过简化...

    smartupload多文件上传解决中文乱码

    4. **数据库存储**:如果上传的文件名需要存储在数据库中,同样需要确保数据库表字段的字符集是UTF-8,以便正确保存和检索中文文件名。 5. **前端处理**:在HTML表单中,`&lt;form&gt;`标签应包含`accept-charset="UTF-8...

    文件上传下载【SmartUpload】

    5. **处理上传的文件**:在上传完成后,可以通过`smartUpload.getFiles()`获取到FileItem对象列表,然后对每个文件进行操作,如移动、重命名或保存到数据库。 6. **清理资源**:最后,别忘了调用`smartUpload.clean...

    smartupload 上传图片

    `SmartUpload` 是一个流行的Java上传组件,它简化了通过JSP(JavaServer Pages)页面实现文件上传到服务器的过程,并能将上传的图片信息保存到数据库中。下面我们将深入探讨`SmartUpload`的工作原理、其主要功能以及...

    SmartUpload上传文件和普通表单例子

    这个"SmartUpload上传文件和普通表单例子"将帮助你理解和实践这一过程,加深对Web应用中文件上传操作的理解。通过实际动手,你可以更好地掌握SmartUpload的使用技巧,从而在项目中更加灵活地处理文件上传需求。

    smartupload文件上传功能

    5. **保存上传的文件**:使用`SmartUpload.save("destination")`方法,其中“destination”参数是指定文件保存的目录路径。 #### 四、代码示例 以下是一个简单的smartupload组件使用示例: 1. **upload.jsp**:...

    SmartUpLoad上传文件视屏

    - **保存文件**:使用save()方法将文件保存到服务器指定的位置。 3. **功能特性**: - **多文件上传**:SmartUpload支持同时上传多个文件,提高用户体验。 - **断点续传**:虽然SmartUpload本身不直接支持断点续...

    JSP 文件的上传与下载 smartupload组件

    服务器端接收到这些数据后,需要将文件保存到服务器的某个位置或者存储到数据库中。在本例中,选择了将文件存储到SQL Server 2000数据库。 文件上传的步骤如下: 1. 在JSP页面中创建一个表单,设置`enctype=...

    smartupload文件上传与下载

    这个工具能够处理单个或多个文件的上传,包括大小、类型等限制,并能方便地将上传的文件保存到服务器的指定位置。 2. **工作原理** SmartUpload通过解析HTTP请求中的multipart/form-data数据来获取上传文件。在...

    JSP实现将图片上传到数据库

    【JSP实现将图片上传到数据库】的知识点涵盖了图片上传的基本原理、文件上传组件的使用、JSP中处理图片数据的流程以及服务器端文件的存储形式。以下是详细说明: 1. **图片上传原理**: 图片上传是客户端通过Web...

    用jspSmart实现文件上传到数据库的实例

    对于不支持的数据库,可能需要先将文件保存到服务器磁盘,然后存储文件路径到数据库。 此外,为了保证代码健壮性,应考虑以下几点: 1. 错误处理:捕获并处理可能出现的异常,如文件过大、文件类型不合法等。 2. ...

    smartUpload上传文件包修改后解决中文乱码

    5. **数据库存储**:如果文件名需要存储到数据库中,确保数据库表字段的字符集也是UTF-8,以便正确存储和检索含有中文的文件名。 6. **浏览器兼容性**:部分老版本的浏览器可能不支持发送非ASCII字符的文件名,这时...

    smartupload上传图片案例&带图片预览功能

    在"SmartUpload图片上传案例"这个压缩包中,可能包含了实现上述功能的示例代码,包括服务器端的Servlet代码、前端HTML和JavaScript代码。你可以通过研究这些代码来理解SmartUpload的使用方法,并根据自己的需求进行...

    上传文件图片,文件上传,jspSmartUpload组件源码

    【标题】"上传文件图片,文件上传,jspSmartUpload组件源码" 描述了一种基于JSP技术的文件上传解决方案,特别提到了`jspSmartUpload`组件,它是一个用于Java Web应用的文件上传库,方便开发者处理用户通过表单提交的...

    jspsmartupload上传文件工程路径中文无乱码

    在这个Eclipse工程实例中,我们将探讨如何使用`jspsmartupload`来实现文件和图片的上传,同时确保文件保存路径中的中文字符不会出现乱码问题。 首先,`jspsmartupload`库解决了文件上传过程中的一些常见问题,如...

    基于jspSmartUpload的图片上传与更名

    总结起来,基于jspSmartUpload的图片上传与更名涉及到前端表单设计、JavaScript验证、后端文件处理、文件更名策略以及图片的存储和显示。理解这些步骤可以帮助开发者构建一个安全、高效的图片上传系统。在实际应用中...

    smartupload 文件上传下载

    4. **服务器存储**:根据业务需求,将上传的文件保存到服务器的指定位置,或者存入数据库等。 5. **反馈结果**:服务器处理完成后,返回结果给前端,前端展示上传状态,如成功信息、错误提示等。 四、文件下载 ...

    smartupload 文件上传jar

    4. 遍历并处理文件:通过SmartUpload的getFiles方法获取UploadItem数组,遍历数组并处理每个文件,如保存到服务器、数据库操作等。 5. 错误处理:SmartUpload会自动处理文件上传过程中的错误,开发者可以通过...

Global site tag (gtag.js) - Google Analytics