zoukankan      html  css  js  c++  java
  • 文件上传和下载

    一般文件上传并不会放在数据库上,我这是为了测试一下咯

    if ("post".equalsIgnoreCase(request.getMethod())) {
            DiskFileUpload diskFileUpload = new DiskFileUpload();//文件上传的类
            diskFileUpload.setHeaderEncoding("UTF-8");//设置utf-8
            List<FileItem> list = diskFileUpload.parseRequest(request);//解析request
            for (FileItem fileItem : list) {
                if (!fileItem.isFormField()) {
                    String filename = fileItem.getName().replace("\", "/");//
                    filename = filename
                            .substring(filename.lastIndexOf("/") + 1);//拼接名字
                    Connection con = null;
                    PreparedStatement preparedStatement = null;
                    try {
                        String sql = "insert into blobTest values(?,?,?)";
                        con = DbManager.getConnection();
                        preparedStatement = con.prepareStatement(sql);
                        preparedStatement.setString(1, filename);//第一个参数和第二个参数放名字和文件类型
                        preparedStatement.setString(2,
                                fileItem.getContentType());
                        preparedStatement.setBinaryStream(3,
                                fileItem.getInputStream(),//fileItem直接打开流输入进去
                                (int) fileItem.getSize());
                        preparedStatement.executeUpdate();
                    } 

    下载类

    in1 = resultSet.getBinaryStream("file");//从数据库获得字段名为file的文件
    out1 = response.getOutputStream();

  • 相关阅读:
    最全负载均衡:算法、实现、亿级负载解决方案详解
    淘宝分布式架构演变案例详解
    分布式一致性协议实现原理
    ReentrantReadWriteLock的使用
    线程之单例
    线程的优先级
    java线程的6种状态
    mybatis <foreach> 标签
    java多线程 上下文切换
    docker的复制和挂载
  • 原文地址:https://www.cnblogs.com/vhyc/p/6688906.html
Copyright © 2011-2022 走看看