`
love4J
  • 浏览: 72136 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

上传文件到Mysql数据库

阅读更多
First, you need a table in database. Below is the table script:
CREATE TABLE `image` (                   
          `Id` int(11) NOT NULL auto_increment,  
          `Image` blob,                          
          PRIMARY KEY  (`Id`)                    
) ENGINE=InnoDB DEFAULT CHARSET=latin1  

Second,you need a jsp. Below is the HTML block in jsp file:
<form action="TestUploadImageToDB" method="post" enctype="multipart/form-data">
   <input type="file" name="file">
   <input type="submit" value="submit">
</form>

Third, you need a servlet to deal with the file upload. Below is the configuration in web.xml and code:
<servlet>
    <servlet-name>TestUploadImageToDB</servlet-name>
    <servlet-class>com.TestUploadImageToDB</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>TestUploadImageToDB</servlet-name>
    <url-pattern>/TestUploadImageToDB</url-pattern>
  </servlet-mapping>

public class TestUploadImageToDB extends HttpServlet {

	private static final long serialVersionUID = 6397853149875034008L;

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		boolean isMultipart = ServletFileUpload.isMultipartContent(request);
		if (isMultipart) {
			DiskFileItemFactory factory = new DiskFileItemFactory();
			factory.setSizeThreshold(1024*1024); 
			factory.setRepository(new File("c:\\temp")); 
			ServletFileUpload upload = new ServletFileUpload(factory);
			upload.setSizeMax(100 * 1024 * 1024);
			List items = new ArrayList();
			try {
				items = upload.parseRequest(request);
			} catch (FileUploadException e) {
				e.printStackTrace();
			}
			Iterator iter = items.iterator();
			while (iter.hasNext()) {
				FileItem item = (FileItem) iter.next();
				if (item.isFormField()) {
					String name = item.getFieldName();
					String value = item.getString();
					System.out.println(name + ":" + value);
				} else {
					writeToDB(item.getInputStream());
				}
			}
		}
		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		out.println("success!");
		out.flush();
		out.close();
	}
	public void writeToDB(InputStream ism){
		Connection con = null;
		try {
			Class.forName("com.mysql.jdbc.Driver").newInstance();
			String URL = "jdbc:mysql://localhost:3306/test?user=root&password=root";
			con = DriverManager.getConnection(URL);
			
			PreparedStatement st = null;
			InputStream in = new BufferedInputStream(ism);
			String sql = "insert into image(Image) values(?)";
			st = con.prepareStatement(sql);
			st.setBinaryStream(1, in);
			int i = st.executeUpdate();
			System.out.println("==>" + i);
			in.close();
			
		}catch(Exception e){
			e.printStackTrace();
		} finally {
			try {
				con.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
}

分享到:
评论

相关推荐

    SSH文件上传保存到MySql数据库

    在这个特定的项目中,“SSH文件上传保存到Mysql数据库”指的是使用Struts2作为前端控制器,Spring作为依赖注入容器,以及Hibernate作为对象关系映射工具,实现文件上传功能并将数据存储到MySQL数据库的过程。...

    python读取txt文件将数据导入mysql数据库

    在测试的时候,需要造模拟数据,或者是将生产环境的数据导出到测试环境中去,本文记录通过python读取txt文件,并将数据导入mysql数据库 1、示例代码: import pymysql # 打开数据库连接 conn = pymysql.connect(host...

    C# 将照片存储到MySQL数据库

    本教程将专注于使用C#编程语言将照片存储到MySQL数据库的过程,这涉及到二进制数据的处理、数据库连接以及数据交互。 首先,理解C#中的文件操作至关重要。在C#中,我们可以使用`System.IO`命名空间下的`File`类来...

    如何导入超大MySQL数据库备份文件

    2. **上传MySQL数据库备份文件** - 由于备份文件通常较大,推荐使用FTP客户端如FileZilla上传压缩后的文件。 - 文件上传至与`bigdump.php`相同的目录。 - 在服务器端解压缩备份文件。 3. **使用BigDump恢复...

    文件上传到数据库

    总结起来,"文件上传到数据库"这一过程涵盖了TCP Socket通信、IO字符流读写以及MySQL数据库操作等多个关键知识点。在实际开发中,理解并熟练掌握这些技术对于构建高效、安全的文件上传系统至关重要。

    文件上传下载 数据库mysql

    在本场景中,我们关注的是利用SmartUpload类库实现文件上传和下载,并结合MySQL数据库进行数据存储和检索。下面将详细阐述这两个方面的知识点。 **文件上传** 1. **HTTP协议与表单提交**:文件上传通常基于HTTP...

    java将含有数据的excel文件上传到mysql数据库

    以下是一个详细的步骤介绍,讲解如何使用Java将含有数据的Excel文件上传到MySQL数据库。 首先,我们需要了解涉及的主要技术: 1. **Java**: Java是一种跨平台的编程语言,具有丰富的类库支持,适合处理文件操作和...

    java版excel解析,并上传至mysql数据库

    在Java编程环境中,将Excel数据解析并上传到MySQL数据库是一项常见的任务,特别是在数据处理和导入导出场景下。本项目提供了完整的解决方案,包括所需的jar包、数据库SQL语句以及一个可直接在Eclipse环境中运行的...

    jsp操作mysql数据库的blob字段

    在IT领域,数据库管理...以上就是使用JSP操作MySQL数据库Blob字段的关键知识点,涵盖了从文件读取、数据库操作到文件输出的完整流程。理解这些概念和步骤对于任何需要在Web应用中存储和检索大文件的开发者都至关重要。

    安卓进行照片在mysql云数据库端读取

    5. **上传照片**:将字节数组作为BLOB插入到MySQL数据库的相应表中。使用SQL INSERT语句,将照片数据与其他字段一起插入。 6. **从数据库下载**:当需要从数据库下载照片时,发送一个查询请求,获取照片的二进制...

    NaviCat连接时提示不支持远程连接的MySql数据库解决方法

    如果一切设置正确,你应该能够成功连接到远程MySQL数据库。 需要注意的是,这种方法依赖于你的服务器环境支持PHP,并且需要在服务器端配置适当的权限,允许HTTP通道访问MySQL。此外,为了安全起见,应确保上传到...

    jsp导excel到mysql数据库.docx

    jsp是一种服务器端脚本语言,通过jsp可以实现excel文件的上传和解析,并将数据导入到mysql数据库中。在这里,我们主要介绍两种方法来实现jsp导excel到mysql数据库。 方法一:使用jxl库 jxl库是一个java库,提供了...

    delphi保存文件到数据库中

    - 通过 `TBlobField` 将选定文件的内容加载到数据库的 Blob 字段中。 - 提交更改并关闭记录。 #### 2.3 完整代码示例 ```pascal procedure TForm1.Button1Click(Sender: TObject); var cdsTemplate: ...

    上传文件至数据库并下载

    在FineReport中实现文件上传到数据库和下载的过程涉及多个技术环节,包括数据库设计、文件的二进制处理、报表模板的制作、以及前端界面的操作等。以下是对这一过程中所涉及知识点的详细说明。 首先,我们要了解在...

    php上传excel数据到mysql数据库

    6. **执行SQL**:使用`mysqli_query()`或`PDO::query()`执行SQL语句,将预处理的数据插入到MySQL数据库。 7. **关闭连接**:在所有操作完成后,记得关闭数据库连接。 这是一个基本的流程,实际应用中可能需要处理...

    php上传文件并存储到mysql数据库的方法

    在本文中,我们将会详细介绍如何使用PHP实现文件上传并将其存储到MySQL数据库中。这个过程涉及几个步骤,包括创建MySQL表、文件上传处理、数据存储等。以下是详细介绍。 首先,创建MySQL表是存储文件信息的基础。...

    如何导入导出MySQL数据库

    总的来说,导出和导入MySQL数据库涉及多种方法,SQL脚本方式更为安全且通用,而直接拷贝数据库文件则需谨慎操作,尤其是在不同环境之间。在实际操作时,根据具体情况选择合适的方法,并确保数据的完整性和安全性。

    mysql数据库转换系统 v1.1

    mysqlconvert是一款优秀的数据库转换及管理系统,无需专业的知识即可方便的将不同的数据库数据进行转换,access、mssql导入mysql,mysql数据库之间互转。还有强大的数据库备份还原功能、批量替换字符、运行sql语句等...

    excel VBA连接MySQL上传/下载数据实例

    excel VBA连接MySQL上传/下载数据实例 Excel文件

Global site tag (gtag.js) - Google Analytics