JAVA上传文件到数据库
前端代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>在此处插入标题</title>
</head>
<body>
<!--enctype="multipart/form-date" 该属性用于服务文件上传-->
<form action="upload.do" method="post" enctype="multipart/form-data">
<p>Upload your song in MP3 format:</p>
<input type="file" name="file" /><br />
<input type="submit" value="Upload" />
</form> </body>
</html>
后台代码
package demo; import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException; import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part; /**
* Servlet implementation class UP
*/
@MultipartConfig
@WebServlet("/upload.do")
public class UP extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* 从part对象里,解析出文件名
* @param part
* @return
*/
private String getFilename(Part part) {
String header = part.getHeader("content-disposition");
String filename = header.substring(header.indexOf("filename=\"")+10,header.lastIndexOf("\""));
return filename;
} public UP() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response)
*/
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Part part = request.getPart("file");//获取上传的文件对象
saveToDb(part);//调用方法保存文件到数据库
} private void saveToDb(Part part) { InputStream in =null;//初始化一个输入流对象
String filename = getFilename(part);//调用方法获取文件名 try {
in = part.getInputStream();//获取文件输入流
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} String url ="jdbc:mysql://149.129.112.161:3306/shop?useUnicode=true&characterEncoding=utf-8";
String user="shop";
String password="999999"; try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} try {
Connection connection = DriverManager.getConnection(url,user,password);
String sql = "insert into bigtb (name,images) values(?,?) ";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1, filename);//设置文件名
statement.setBinaryStream(2, in);//设置输入流 statement.executeUpdate();//处理sql语句 statement.close();
} catch (SQLException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} } }
JAVA上传文件到数据库的更多相关文章
- Java上传文件FTP服务器代码
1. 在实际的应用重,通常是通过程序来进行文件的上传. 2. 实现java上传文件到ftp服务器中 新建maven项目 添加依赖 <dependency> <groupId>c ...
- java 上传文件到 ftp 服务器
1. java 上传文件到 ftp 服务器 package com.taotao.common.utils; import java.io.File; import java.io.FileInpu ...
- springMVC+spring+hibernate注解上传文件到数据库,下载,多文件上传
数据库 CREATE TABLE `annex` ( `id` bigint() NOT NULL AUTO_INCREMENT, `realName` varchar() DEFAULT NULL, ...
- java上传文件夹文件
这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,和分片总数 下面直接贴代码吧,一些难懂的我大部分都加上注释了: 上传文件实体类: 看得 ...
- java+上传文件夹
最近在学习百度的开源上传组件WebUploader,写了一些示例以记录.WebUploader的缺点是没有一个比较好的现成的界面,这个界面需要自己去实现.自由度高了一些. WebUploader是由B ...
- Java 上传文件到 SFTP 抛异常 java.lang.NoClassDefFoundError: Could not initialize class sun.security.ec.SunEC 的解决办法
最近从 Op 那里报来一个问题,说是SFTP上传文件不成功.拿到的 Exception 如下: Caused by: java.lang.NoClassDefFoundError: Could not ...
- Linux下vsftpd的安装,Java上传文件实现。
首先我们需要查看是否已经安装vsftpd,输入命令 :vsftpd -v.如果出现以下信息,那么就说明已经安装vsftpd 如果没有安装,那么输入命令 : yum install vsftpd ...
- java上传文件代码
import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;impo ...
- Linux下开发python django程序(设置admin后台管理上传文件和前台上传文件保存数据库)
1.项目创建相关工作参考前面 2.在models.py文件中定义数据库结构 import django.db import modelsclass RegisterUser(models.Model) ...
随机推荐
- Java中的集合Queue、LinkedList、PriorityQueue(四)
Queue接口 Queue用于模拟了队列这种数据结构,队列通常是指“先进先出”(FIFO)的容器.队列的头部保存在队列中时间最长的元素,队列的尾部保存在队列中时间最短的元素.新元素插入(offer)到 ...
- SQL Server的GO语句
https://www.cnblogs.com/cbattle/p/8784537.html go语句经常加在create.exec.drop等前面.
- Centos 7 搭建蓝鲸V4.1.16稳定社区版
在本地用VMware模拟了三台主机 准备至少3台 CentOS 7 以上操作系统的机器,保证三台虚拟机都可以上网 最低配置:2核4G(我用的是这个) 建议配置: 4核12G 以上 192.168.16 ...
- Web安全(白帽子讲)之第一章
安全问题的本质是信任的问题,并是一个持续的过程. 安全三要素 Confidentiality:机密性-----要求保护数据内容不能泄密 Integrity:完整性-----要求保护数据内容的完整,没有 ...
- ACM之路(17)—— 博弈论
博弈论这方面网上资料庞大,我觉得我不可能写的比他们好,就转载一下我觉得写的不错的博客好了. 首先是三大博弈:巴什博奕,威佐夫博奕,尼姆博奕.博客:三大基本博弈. 然后是强大的sg函数和sg定理:SG. ...
- CF883H
CF883H 题意: 给你一个字符串,需要把它以最小的划分次数划分为x个长度相等的回文串,可以重新排列. 解法: 大模拟一个. 分别统计出现一次的字符和出现两次的字符,如果没有出现一次的字符,那么所有 ...
- 发布jar项目到maven仓库
在要发布的项目pom文件中添加配置: <distributionManagement> <repository> <id>releases</id> & ...
- selenium的方法
# Licensed to the Software Freedom Conservancy (SFC) under one # or more contributor license agreeme ...
- vsftp 上传550 Permission denied解决办法
在linux服务器上安装和配置了vsftp,添加用户然后现在用这个用户登录ftp成功,能下载,但是不能上传和删除,明明这个用户的主目录给了777权限了,但是始终无法上传 解决办法:是在/var/ftp ...
- Tomcat的server.xml
慕课网:https://www.imooc.com/video/19201 Server:指整个tomcat服务器,它其中包含多个组件,它主要负责管理和启动各个service,同时监听8005端发过来 ...