精华内容
下载资源
问答
  • java如何上传图片到数据库

    热门讨论 2011-11-18 13:47:02
    java如何上传图片到数据库java如何上传图片到数据库java如何上传图片到数据库
  • Java上传文件到数据库

    千次阅读 2016-02-29 20:22:30
    Java上传文件到数据库  首先在开始本文之前推荐一篇我非常喜欢的博主——孤傲苍狼的一篇相关博文。  JavaWeb学习总结(五十)——文件上传和下载   http://www.cnblogs.com/xdp-gacl/p/4200090.html  本文主要...

                                                                              Java上传文件到数据库

         首先在开始本文之前推荐一篇我非常喜欢的博主——孤傲苍狼的一篇相关博文。

              JavaWeb学习总结(五十)——文件上传和下载 

              http://www.cnblogs.com/xdp-gacl/p/4200090.html

             本文主要介绍如何将文件上传到服务器,并以二进制字符流的形式存入数据库。

              初始准备,MySQL数据库,新建表test,添加字段longblob字段。

              1. 页面代码:closedLoopInfo.jsp

    <%@ page contentType="text/html; charset=utf-8" language="java"
    	import="java.sql.*" errorPage=""%>
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
    <%
        String path = request.getContextPath();
        // 获得本项目的地址(例如: http://localhost:8080/MyApp/)赋值给basePath变量    
        String basePath = request.getScheme() + "://"
    			+ request.getServerName() + ":" + request.getServerPort()
    			+ path + "/";
        // 将 "项目路径basePath" 放入pageContext中,待以后用EL表达式读出。    
        pageContext.setAttribute("basePath", basePath);
    %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    
    <script type="text/javascript" src="<%=basePath%>static/js/jquery.min.js"></script>
    <script src="<%=basePath%>static/js/My97DatePicker/WdatePicker.js"></script>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>test</title>
    <script type="text/javascript">
       function CheckFile(obj) {
    		var filname = $(".fil").val();
    		var array = new Array('pdf', 'xlsx', 'docx', 'txt', 'pptx', 'jpg',
    				'jpeg', 'xls', 'doc'); //可以上传的文件类型
    		var fileContentType = obj.value.match(/^(.*)(\.)(.{1,8})$/)[3]; //这个文件类型正则很有用
    		var isExists = false;
    		for ( var i in array) {
    			if (fileContentType.toLowerCase() == array[i].toLowerCase()) {
    				isExists = true;
    				alert("文件类型正确");
    				return true;
    			};
    		}
    		if (isExists == false) {
    			obj.value = null;
    			alert("上传文件类型需为pdf,xlsx,docx,txt,pptx,jpg,jpeg,xls,doc!");
    			return false;
    		}
    		return false;
    	}
    </script>
    </head>
    
    <body>
    	<div class="main" style="background-color:#e4e4e4;">
    		<table class="tab">
    			<tr style="height:50px;">
    				<td></td>
    				<td style="text-align:center;vertical-align:middle;"><label
    					style="align:center;width:200%;border-style:solid;border-color:#B0B0B0;border-width:thin;">方案附件上传:</label>
    				</td>
    				<td></td>
    				<td>
    				  <form id="fieForm" method="post" enctype="multipart/form-data" action="<%=basePath%>uploadQuestionFile.do" >
        	            <div class="bmbut" id="bmbut1">
        	              <input class="fil" name="single" type="file" οnchange="CheckFile(this)"/>
                          <input class="subm" type="submit" value="上传" />
                        </div>
                      </form>
                    </td>
    				<td></td>
    				<td></td>
    			</tr>
    		</table>
    	</div>
    </body>
    </html>
            2.附件上传(uploadQuestionFile.do)

       // 获取本地第二个磁盘绝对路径,用来存取临时文件
        public String getDisk() {
    	String result = "";
    	int count = 0;
    	for (File f : File.listRoots()) {
    	    result = f.getAbsolutePath();
    	    count++;
    	    if (count == 2)
    		break;
    	}
    	return result;
        }
        
        // 附件上传
        @SuppressWarnings("rawtypes")
        @RequestMapping("uploadQuestionFile.do")
        public String uploadQuestionFile(HttpServletRequest request)
    	    throws ServletException, IOException {
    	boolean isMultipart = ServletFileUpload.isMultipartContent(request);
    	if (isMultipart) {
    	    DiskFileItemFactory factory = new DiskFileItemFactory();
    	    // factory.setSizeThreshold(1024 * 10);
    
    	    // 设置存放临时文件的目录,web根目录下的ImagesUploadTemp目录
    	    // factory.setRepository(new File("f:\\test"));  // 临时文件
    
    	    // 用上面的工厂实例化上传组件,
    	    ServletFileUpload upload = new ServletFileUpload(factory);
    
    	    // 设置最大上传大小 10M
    	    upload.setSizeMax(1024 * 1024 * 5);
    	    String name = "";
    	    try {
    		List items = upload.parseRequest(request); // 得到所有FileItem
    		// 上传文件的个数
    		Iterator iter = items.iterator();
    		
    		// 循环处理所有文件
    		while (iter.hasNext()) {
    		    FileItem item = (FileItem) iter.next();
    		    System.out.println("Item:" + item);
    		    // 判断是否是表单元素(<input type="text" />单选,多选等)
    		    if (!item.isFormField()) {
    			// 得到文件的名称
    			name = item.getName();
    			// 文件长度
    			//long size = item.getSize();  // 过滤大小
    			if (name == null || "".equals(name.trim())) {
    			    // 未选择上传文件
    			    continue;
    			}
    			// 以下为文件名处理,将上传的文件保存在项目所在目录下。
    			// 获取文件名字符串的长度
    			// int end = name.length();
    			// 返回在此字符串中最右边出现的指定子字符串的索引。
    			int begin = name.lastIndexOf("\\");
    
    			// int start = name.lastIndexOf(".");
    			// 输出上传文件类型,此处可以进行类型的过滤
    			//
    			// System.out.println(application.getRealPath("/js")+System.getProperty("file.separator")+name.substring(begin
    			// + 1));
    			// File file = new File("f:\\"+name.substring(begin + 1,
    			// end));
    			
    			File file = new File("");
    			file = new File(getDisk()+ name.substring(begin + 1));
    			item.write(file);
    			System.out.println("1.name:" + name);
    			System.out.println("2.file:" + file);
    			byte[] buffer = null;
    			try {
    			    FileInputStream fis = new FileInputStream(file);
    			    ByteArrayOutputStream bos = new ByteArrayOutputStream(
    				    1024);
    			    byte[] b = new byte[1024];
    			    int n;
    			    while ((n = fis.read(b)) != -1) {
    				bos.write(b, 0, n);
    			    }
    			    fis.close();
    			    bos.close();
    			    buffer = bos.toByteArray();
    			} catch (Exception e) {
    			    e.printStackTrace();
    			}
    			FileRequest filerequest = new FileRequest();
    			filerequest.setBytes(buffer);
    			filerequest.setFileName(name);
    			filerequest.setAppName("apiplatform");
    			System.out.println("3.赋值前参数filerequest:" + filerequest);
    			System.out.println("4.参数filerequestbuffer:" + buffer);
    			System.out.println("5.参数BufferSize:" + buffer.length);
    			System.out.println("6.参数filerequestFileName:" + name);
    			System.out.println("7.已赋值Bytes:"+ filerequest.getBytes());
    			System.out.println("8.已赋值FileName:"+ filerequest.getFileName());
    			System.out.println("9.已赋值AppName:"+ filerequest.getAppName());
    			System.out.println("最终参数filerequest:" + filerequest);
    			
    			fileBuffer = buffer;
    			
    			// 是否调用成功
    			// 返回的信息,如果成功返回success,如果失败返回错误信息
    			// 文件上传成功,会返回一个文件的唯一标识
    			// 格式类似于:group1;M00/00/00/CooWNFYJ6kaAWxe_ACrCAeZ2krc847.zip
    			// 将这个结果保存到自己的数据库或其他地方,在以后查找文件时用
    			if (file.getPath().endsWith(".xlsx")) {
    			    System.out.println("文件类型为xlsx");
    			} else if (file.getPath().endsWith(".doc")) {
    			    System.out.println("文件类型为doc");
    			} else if (file.getPath().endsWith(".pdf")) {
                                System.out.println("文件类型为pdf");
    			} else if (file.getPath().endsWith(".txt")) {
    			    System.out.println("文件类型为txt");
    			} else if (file.getPath().endsWith(".pptx")) {
    			    System.out.println("文件类型为pptx");
    			} else if (file.getPath().endsWith(".docx")) {
    			    System.out.println("文件类型为docx");
    			} else {
    			    request.setAttribute("Error", "文件格式不正确");
    			    System.out.println("文件格式不正确");
    			}
    			file.delete();
    		    }
    		}
    
    	    } catch (FileUploadException e) {
    		e.printStackTrace();
    	    } catch (Exception e) {
    		// 处理文件写入时的异常
    		e.printStackTrace();
    	    }
    	}
    	return "closedLoopInfo";
        }
        
    展开全文
  • java图片上传到数据库

    2018-01-08 02:52:37
    #要层次清晰,bean、dao、service、controller、mybatis,按照这样分层来做商品的新增(有商品id,商品名称,商品图片),我是用myeclipse开发工具,你们可以用form表单提交,也可以用ajax提交
  • JAVA上传文件到数据库

    2019-09-23 23:38:59
    前端代码 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> ...%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="U...

     前端代码

    <!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();
    		}
    		
    	}
    
    }
    

      

    转载于:https://www.cnblogs.com/max-hou/p/10882395.html

    展开全文
  • java实现上传图片存入到数据库,只能用炫酷来形容,感兴趣就下载看看吧
  • Java 图片保存到数据库

    千次阅读 2019-06-17 19:52:46
    本实例要实现的是上传图片同时带有字段保存到数据库,首先我们需要引入commons-io-2.5.jar和commons-fileupload-1.3.2.jar包,其次最为重要的是中jsp页面的表单中from务必要有这两个属性为method="post"和 enctype=...

    开发工具与关键技术:MyEclipse 10/Java

    作者:吴永旗

    撰写时间: 2019年06月17日

    本实例要实现的是上传图片同时带有字段保存到数据库,首先我们需要引入commons-io-2.5.jar和commons-fileupload-1.3.2.jar包,其次最为重要的是中jsp页面的表单中from务必要有这两个属性为method="post" enctype="multipart/form-data"否则数据提交失败,而servlet层不能通过request方式请求获取得到from表单的值,而是通过parseRequest()方法获取集合,然后for循环遍历,通过getFieldName()获取字段,通过if()进行名字一一匹配,从而代替request.getParameter的方法请求。

    (1)新建一个index.jsp页,from表单要有method="post" enctype="multipart/form-data"属性,关键代码如下:

    (2)新建一个upload.java,用于编写selvert层代码,关键代码如下:

    D  int sizeThreshold=1024*1024*1; //1m

                int fileSizeMax=1024*1024*5;//5m

                int sizeMax=1024*1024*8; //8m

                DiskFileItemFactory factory=new DiskFileItemFactory();

                // 设置内存临界值 - 超过后将产生临时图片并存储于临时目录中 10M

                factory.setSizeThreshold(sizeThreshold);

                //配置临时目录

        factory.setRepository(new File(System.getProperty("java.io.tmpdir")));

                ServletFileUpload upload=new ServletFileUpload(factory);

                //设置编码

                upload.setHeaderEncoding("utf-8");

                //设置上传图片的最大大小

                upload.setFileSizeMax(fileSizeMax);

                //设置请求的最大大小

                upload.setSizeMax(sizeMax);

                // 构造临时路径来存储上传的图片

                // 这个路径相对当前应用的目录

      String uploadPath = request.getServletContext().getRealPath("./") + File.separator + "upload";

                // 如果目录不存在则创建

                File uploadDir = new File(uploadPath);

                if (!uploadDir.exists()) {

                    uploadDir.mkdir();

                }

                try {

                     //获取集合

                    List<FileItem> formItems = upload.parseRequest(request);

                    Particulars  par=new Particulars();

                    int name=0;

                    for (FileItem item : formItems) {

                       //isFormField 表单元素

                    if (!item.isFormField()) {

                     String fileName =System.currentTimeMillis()+"__"+ new File(item.getName()).getName();

                      String filePath = uploadPath + File.separator + fileName;

                     File storeFile = new File(filePath);

                            item.write(storeFile); // 保存图片到硬盘

                            par.setPicture(fileName.trim());//图片路径

                       }else

                       {

                           //获取其他字段

                    String fieldName  = item.getFieldName();

                            //通过流 用来读取表单元素里的内容。

                   java.io.BufferedReader br = new BufferedReader(new InputStreamReader(item.getInputStream(),"UTF-8"));

                //如果还有除文件域以外的其他表单元素 就用 if()进行名字一一匹配。此处就是request.getParameter的替换方法

                            if(fieldName.equals("SmallclassID")){

                                 String SmallclassID =  br.readLine();

                             par.setSmallclassID(Integer.parseInt(SmallclassID));

                            }

                            if(fieldName.equals("ParticularsNumber")){

                                 String ParticularsNumber =  br.readLine();

                                 par.setParticularsNumber(ParticularsNumber);

                            }

                            if(fieldName.equals("ParticularsName")){

                                 String ParticularsName =  br.readLine();

                                 name=particul.count(ParticularsName);

                                 par.setParticularsName(ParticularsName);

                            }

                            if(fieldName.equals("Price")){

                                 String Price =  br.readLine();

                                 par.setPrice(Price);

                            }

                            if(fieldName.equals("BigPrice")){

                                 String BigPrice =  br.readLine();

                                 par.setBigPrice(BigPrice);

                            }

                            if(fieldName.equals("SmallPrice")){

                                 String SmallPrice =  br.readLine();

                                 par.setSmallPrice(SmallPrice);

                            }

                            if(fieldName.equals("Member")){

                                 String Member =  br.readLine();

                                 par.setMember(Member);

                            }

                            if(fieldName.equals("Discount")){

                                 String Discount =  br.readLine();

                                 par.setDiscount(Discount);

                            }

                            if(fieldName.equals("Uniter")){

                                 String Uniter =  br.readLine();

                                 par.setUniter(Uniter);

                            }

                       }

                    }

                    if (name==0) {

                       boolean scuess=particul.insert(par);

                       if (scuess) {

                        response.getWriter().write(Boolean.toString(scuess));

                       }

                    }else {

                       response.getWriter().write("exit");

                    }

                } catch (FileUploadException e) {

                    e.printStackTrace();

                } catch (Exception e) {

                    e.printStackTrace();

                }

        }

     

    展开全文
  • java 文件上传到数据库为blob

    千次阅读 2012-10-23 20:33:18
    现在数据库建表, 让后写一个测试类 经本人测试绝对可用 import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileInputStream; import java.sql.Connection; import java.sql....

    其实也没有什么,就拿mysql为例;

    现在数据库建表,

    让后写一个测试类

    经本人测试绝对可用

    import java.io.ByteArrayInputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;


    /**
    *在mysql数据库里成功测试,并且发现mysql的blob数据库不支持存储图片,只支持
    *65535字节以下的本本数据存储。不过其他的大型数据库是支持储存图片的.
    */
    public class InsertBlob {

    public static void main(String[] args) {
    try{
    File f = new File("C:\\bsmain_runtime.log");
           long length = f.length();
           FileInputStream fis = new FileInputStream("C:\\bsmain_runtime.log");        
           byte[] imageBytes=new byte[(int)length];       
           int byteLength=fis.read(imageBytes, 0, (int)length);        
           ByteArrayInputStream bais=new ByteArrayInputStream(imageBytes);        

    Class.forName("com.mysql.jdbc.Driver");
    Connection con=DriverManager.getConnection("jdbc:mysql://localhost/test","root","java");
    PreparedStatement pstmt = null; 

    /*
    create table mypicture 
    ( name varchar(20),
        image blob );    
    */

    pstmt = con.prepareStatement("insert into mypicture(name,image) values(?,?)");
    pstmt.setString(1, "001");
    pstmt.setBinaryStream(2,bais,byteLength);
    pstmt.executeUpdate();




    System.out.println("file length:"+length);
    System.out.println("byte length:"+byteLength);
    System.out.println("插入成功.");
    }catch(Exception e){
    e.printStackTrace();
    }


    }




    }

    展开全文
  • java中如何上传图片到数据库

    千次阅读 2018-09-19 10:38:00
    基于layui框架,实现从jsp页面上传图片到数据库,熟悉layui框架才能用。 首先如何上传图片。 这里为layui 的js 部分和 html var uploadInst = upload.render({ elem: '#uploadBtn' //上传按钮的id ,...
  • 前言:一直想写段代码实现IOS或Android客户端上传图片到Java服务端存到数据库,再从数据库取出下载下来的过程,今天终于忍不住将代码吐了出来,这里仅提供了Javaweb端servlet的响应代码。我觉得客户端用base64转换...
  • 采用数据库存储图片的方式,后端接口返回图片的base64流,插入数据库前对图片进行加密,接口查询进行解密。 实现 数据库 字段:head_portrait 类型:longblob 实体类属性设置 /** * 头像路径 */ @TableField...
  • java保存文件到数据库

    热门讨论 2010-04-18 11:32:28
    将文件以二进制方式写入数据库,并将其读出还原。 数据库字段image
  • java上传文件oracle数据库

    千次阅读 2011-03-30 16:57:00
    java上传文件oracle数据库http://zdq0426.blog.163.com/blog/static/22169094201091810170399/
  • 本篇文章主要介绍了Java+mysql本地图片上传数据库及下载示例,具有一定的参加价值,有兴趣的可以了解一下。
  • asp上传图片到数据库

    2012-03-09 20:11:51
    很多免费空间不支持 fso 所以就没办发上传图片到文件中了 现在可以把文件上传到数据库
  • 用Jsp上传图片到数据库 用Jsp上传图片到数据库
  • java实现文件上传到数据库

    万次阅读 2015-03-30 21:09:15
    欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit...图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
  • java+web上传图片保存到数据库

    千次阅读 2019-04-12 11:48:46
    1.上传图片:html代码示例。 <div class="form-group col-sm-12"> <label class="col-sm-2 control-label no-padding-right"><span class="ytRequired"></span>头像:</label> &...
  • jeesite上传图片到数据库并解析展示,项目中的选手信息展示了该功能
  • java如何将图片储存到数据库

    千次阅读 2020-10-25 10:20:44
    jsp上传文件通过java将其存储至mysql数据库 在开发上我们经常遇到图片文档等数据,目前有两种方式存储文件,一种就是直接存储至服务器的某个路径下,第二种就是将其存入数据库中 1.在mysql的表中建一个字段存储文件 ...
  • java 图片保存MySQL数据库

    千次阅读 2018-02-11 09:34:05
    html 页面先判断数据库中是否有头像,如果有则显示出来(selectUserHeadIcon.do)没有这默认显示一个图片&lt;div id="MyheadIcon" class="flag" style="display: none;"&gt;...
  • 最近在学习java web,在练习DVD信息管理系统时一直对照片上传问题的处理感到非常棘手,在我的仔细研究和钻研下,终于完美解决了这个难题,下面我讲述一下具体的步骤: 思路阐述:将图片项目的/webTest/imgs/...
  • 最近在学习java web,在练习DVD信息管理系统时一直对照片上传问题的处理感到非常棘手,在我的仔细研究和钻研下,终于完美解决了这个难题,下面我讲述一下具体的步骤: 思路阐述:将图片项目的/webTest/imgs/...
  • 1、备份MySQL数据库存放目录/var/lib/mysql下面的vos3000db数据库到/home/mysql_data里面,并且保存为vos3000db_bak_2013_05_09.tar.gz英文源文档 翻译: 白水代码下载: CSASPNETImageEditUpload.zip此示例演示了在...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 57,680
精华内容 23,072
关键字:

java上传图片到数据库

java 订阅