精华内容
下载资源
问答
  • java代码实现打包多个文件下载功能

    千次阅读 2018-10-23 18:23:24
    //传入对应的需要打包的file 集合对象` //文件打包下载 public static HttpServletResponse downLoadFiles(List files, HttpServletRequest request, .../*这集合就是你想要打包的所有文件, * 这里...
    #
    //传入对应的需要打包的file 集合对象`
    //文件打包下载
       
    
     
    
    public static HttpServletResponse downLoadFiles(List<File> files,
                HttpServletRequest request, HttpServletResponse response)
                throws Exception {
            try {
                /**这个集合就是你想要打包的所有文件,
                 * 这里假设已经准备好了所要打包的文件
                 */
                 
                //List<File> files = new ArrayList<File>();
         
                /**创建一个临时压缩文件,
                 * 我们会把文件流全部注入到这个文件中
                 * 这里的文件你可以自定义是.rar还是.zip
            * 这里的file路径发布到生产环境时可以改为
                 */
                    File file = new File(request.getSession().getServletContext().getRealPath("/qrcode.ara"));
                    if (!file.exists()){   
                        file.createNewFile();   
                    }
                    response.reset();
                    //response.getWriter()
                    //创建文件输出流
                    FileOutputStream fous = new FileOutputStream(file);   
                    /**打包的方法我们会用到ZipOutputStream这样一个输出流,
                     * 所以这里我们把输出流转换一下*/
        //            org.apache.tools.zip.ZipOutputStream zipOut 
        //                = new org.apache.tools.zip.ZipOutputStream(fous);
                   ZipOutputStream zipOut 
                    = new ZipOutputStream(fous);
                    /**这个方法接受的就是一个所要打包文件的集合,
                     * 还有一个ZipOutputStream
                     */
                   zipFile(files, zipOut);
                    zipOut.close();
                    fous.close();
                   return downloadZip(file,response);
                }catch (Exception e) {
                        e.printStackTrace();
                    }
                    /**直到文件的打包已经成功了,
                     * 文件的打包过程被我封装在FileUtil.zipFile这个静态方法中,
                     * 稍后会呈现出来,接下来的就是往客户端写数据了
                     */
                   // OutputStream out = response.getOutputStream();
                   
             
                return response ;
            }
        
          /**
             * 把接受的全部文件打成压缩包 
             * @param List<File>;  
             * @param org.apache.tools.zip.ZipOutputStream  
             */
            public static void zipFile
                    (List files,ZipOutputStream outputStream) {
                int size = files.size();
                for(int i = 0; i < size; i++) {
                    File file = (File) files.get(i);
                    zipFile(file, outputStream);
                }
            }
        public static HttpServletResponse downloadZip(File file,HttpServletResponse response) {
            try {
            // 以流的形式下载文件。
            InputStream fis = new BufferedInputStream(new FileInputStream(file.getPath()));
            byte[] buffer = new byte[fis.available()];
            fis.read(buffer);
            fis.close();
            // 清空response
            response.reset();
    
            OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
            response.setContentType("application/octet-stream");
            response.setHeader("Content-Disposition", "attachment;filename=" + file.getName());
            toClient.write(buffer);
            toClient.flush();
            toClient.close();
            } catch (IOException ex) {
            ex.printStackTrace();
            }finally{
                 try {
                        File f = new File(file.getPath());
                        f.delete();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
            }
            return response;
        }
    
        /**  
             * 根据输入的文件与输出流对文件进行打包
             * @param File
             * @param org.apache.tools.zip.ZipOutputStream
             */
            public static void zipFile(File inputFile,
                    ZipOutputStream ouputStream) {
                try {
                    if(inputFile.exists()) {
                        /**如果是目录的话这里是不采取操作的,
                         * 至于目录的打包正在研究中
                         */
                        if (inputFile.isFile()) {
                            FileInputStream IN = new FileInputStream(inputFile);
                            BufferedInputStream bins = new BufferedInputStream(IN, 512);
                            //org.apache.tools.zip.ZipEntry
                            ZipEntry entry = new ZipEntry(inputFile.getName());
                            ouputStream.putNextEntry(entry);
                            // 向压缩文件中输出数据   
                            int nNumber;
                            byte[] buffer = new byte[512];
                            while ((nNumber = bins.read(buffer)) != -1) {
                                ouputStream.write(buffer, 0, nNumber);
                            }
                            // 关闭创建的流对象   
                            bins.close();
                            IN.close();
                        } else {
                            try {
                                File[] files = inputFile.listFiles();
                                for (int i = 0; i < files.length; i++) {
                                    zipFile(files[i], ouputStream);
                                }
                            } catch (Exception e) {
                                e.printStackTrace();
                            }
                        }
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
    
    展开全文
  • 将要打包文件列表放入c_list.txt里,如果是数据库的文件,可以用show tables;命令列出表名。 1 2 3 4 5 6 #!/bin/bash #批量打包 foriin`catc_list.txt` do tar-jcvf$i.tar.bz2$i.frm$i.MYD$i.MYI...

    打包,

    将要打包的文件列表放入c_list.txt里,如果是数据库的文件,可以用show tables;命令列出表名。

    1
    2
    3
    4
    5
    6
    #!/bin/bash
    #批量打包
    for  in  ` cat  c_list.txt`
       do 
         tar  -jcvf $i. tar .bz2 $i.frm $i.MYD $i.MYI
       done



    批量解压:

    1
    2
    3
    4
    5
    #!/bin/bash  
    for  in  ` ls  ./*. tar .gz`   
        do    
          tar  -zxvf $i > /dev/null  
        done


    参考文章:

    http://blog.csdn.net/zgf19930504/article/details/51912150


    本文转自 piazini 51CTO博客,原文链接:http://blog.51cto.com/wutou/1978789

    展开全文
  • pyinstaller打包多个文件为exe

    千次阅读 2020-06-16 13:52:46
    安装包解压完成后,在打包程序所依赖的虚拟环境完成安装,安装步骤如下: pycharm配置好项目的虚拟环境,但是terminal中并没有进入到虚拟环境,因此安装过程应该在终端进行 步骤一:将文件夹放置虚拟环境的Lib\site-...

    安装

    pyinstaller-develop
    提取码:u1dj
    安装包解压完成后,在打包程序所依赖的虚拟环境完成安装,安装步骤如下:
    pycharm配置好项目的虚拟环境,但是terminal中并没有进入到虚拟环境,因此安装过程应该在终端进行
    步骤一:将文件夹放置虚拟环境的Lib\site-packages文件夹下
    在这里插入图片描述
    步骤二:打开cmd,输入conda activate envname激活虚拟环境,envname 为你打包程序所依赖的虚拟环境,进入pyinstaller-develop文件夹
    在这里插入图片描述
    步骤三:在cmd输入python setup.py install完成安装,成功界面如下:
    在这里插入图片描述

    使用

    pycharm配置好项目的虚拟环境,但是terminal中并没有进入到虚拟环境,因此打包过程应该在终端进行
    步骤一:打开cmd,输入conda activate envname,envname 为你打包程序所依赖的虚拟环境
    在这里插入图片描述
    步骤二:进入你打包程序所在的根目录
    我的打包程序在桌面的tcp文件夹,其中tcp.py为主程序,pyqt5_fanuc.py为主程序tcp.py依赖的py文件
    在这里插入图片描述
    在这里插入图片描述步骤三:打包文件
    在这里插入图片描述
    在cmd输入pyinstaller -F -w -i tcp.ico tcp.py -p pyqt5_fanuc.py,换exe的图标需要把图标放在tcp文件夹,如果有多个依赖文件,后面继续添加 -p xxx.py即可

    运行成功界面如下:
    在这里插入图片描述

    结果

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • laravel实现打包多个文件,并下载

    千次阅读 2020-02-10 15:27:58
    在项目开发过程中,用户需要下载多个文件,如果单个文件下载,用户体验不好,可以把用户的文件上传到一个目录中,下载时将文件夹的多个文件压缩成zip包,下载zip包。 本文用用laravel实现多文件一次性下载 由于...

    解决的问题

    在项目开发过程中,用户需要下载多个文件,如果单个文件下载,用户体验不好,可以把用户的文件上传到一个目录中,下载时将文件夹的多个文件压缩成zip包,下载zip包。

    本文用用laravel实现多文件一次性下载

    由于实现比较简单,直接上代码吧

        /**
         * @param Request $request
         * @return ResponseFactory|\Illuminate\Http\Response|BinaryFileResponse
         */
        public function downloadfiles(Request $request){
            $dir = $request->input('dir', 'uploads/20200210');
            if($dir){
                $path = public_path($dir);
                $zip_name = 'files.zip';
                $zip = null;
                $count = 0;
                //迭代器
                $files =  new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path));
                foreach ($files as $name => $file){
                //排除文件夹
                    if (!$file->isDir()) {
                    //是否实例化了ZipArchive对象,
                        if(!$zip) {
                            $zip = new ZipArchive();
                            //打开zip包
                            $zip->open($zip_name, ZipArchive::CREATE | ZipArchive::OVERWRITE);
                        }
                        //获取文件的绝对路径
                        $filePath = $file->getRealPath();
                        //把文件添加的zip包中
                        $zip->addFile($filePath, $file->getFilename());
                        $count++;
                    }
                }
                if($zip){
                //关闭zip包
                    $zip->close();
                }
                if($count){
                    return response()->download($zip_name);
                }else{
                 return response('', 404);
                }
            }else{
                return response('', 404);
            }
        }
    
    展开全文
  • 1 首先写好Python程序后,需要生成可执行的exe文件,那么你需要安装pyinstaller,安装方法是直接在命令行输入下面的命令: pip install Pyinstaller2 安装完成后,既可以进行exe文件的生成,生成语句如下所示:...
  • webpack4打包多个js文件

    万次阅读 2018-07-19 16:36:15
    1.多个js文件不合并打包(分别打包) 配置文件./conf/webpack.dev.js const path = require("path"); module.exports = { mode: "development", //打包为开发模式 // 入口配置的对象中,属性...
  • sip资源打包,内含多个文档 有华为的内部资料, 华为软件换分组协议基础,SIP经典例子(编程),sip体系结构,REC3621
  • 版权声明:转载请注明作者(独孤尚良dugushangliang)出处:...如下图所示是多个文件打包所得,有许多PYD文件、文件夹、DLL文件等,其中会有一个exe文件,这...
  • Pyinstaller打包多个.py文件

    万次阅读 多人点赞 2018-07-09 00:19:55
    一、多文件打包为单一文件...多个.py文件打包命令格式如下:pyinstaller [主文件] -p [其他文件1] -p [其他文件2] --hidden-import [自建模块1] --hidden-import [自建模块2]三、使用pyinstaller打包的时候,仅打包...
  • 使用pyinstaller打包多个python文件

    千次阅读 2020-06-18 21:39:23
    这次需要打包的项目为Tkinter目录下的test3目录下的所有python文件,其中main.py为主文件。 二.打包流程 1.生成主函数对应的spec文件 命令:在test3路径下使用:pyi-makespec main.py 如下图已经生成main....
  • pyinstaller打包多个py文件

    千次阅读 2018-12-19 16:16:14
    转载:...pyinstaller [主文件] -p [其他文件1] -p [其他文件2] --hidden-import [自建模块1] --hidden-import [自建模块2] # 以上为一整条命令 ...指定打包后只生成一exe格式的文件 ...
  • 想要打包多个文件,在多个文件下有各个文件的相互调用,如在下例文件下要调用其他文件里的函数 var AnimateDomManage = require(&quot;./animatedommanager.js&quot;); var AnimateEditor = require(&...
  • 1.打包多个py文件并且去除cmd黑框格式:pyinstaller.exe -F 路径\文件名.py空格路径\文件名.py空格--noconsole
  • pyinstaller打包多个python文件

    千次阅读 2020-03-03 00:24:40
    多个python文件打包为EXE文件 1.程序文件夹目录如下: 把程序文件夹里的python文件复制的D:\软件\py36\PyInstaller-3.6目录下,其余的最后放入dist下的EXE同一目录里   放入文件 2,在cmd里面...
  • 我想利用pyInstaller或者任何Python打包工具,把多个py文件打包成exe文件;这些py文件中,有一个是mymain.py;它会调用其他的如a.py,b.py;同时这些py 文件会调用一些第三方库,如numpy之类的。我想把他们打包成一...
  • pyinstaller打包的坑,最重要(多个文件打包

    万次阅读 热门讨论 2019-03-20 23:45:18
    原因:打包多个文件,需要指定如下文,找到你的spec文件改一改 圈起来的是我额外的文件需要这样写,注意上面加.py 下面的不加就可以了 改好之后 然后你可能发现还是和上面的同一个错误,这个时候你就去...
  • Linux中打包多个文件

    千次阅读 2019-01-21 15:42:41
    1、压缩  将文件test分包压缩成1000M 的文件:  tar czf - test | split -... 将第一步分拆的多个包解压:  cat test.tar.bz2* | tar -jxv ---------------------  作者:yuan892173701  来源:CSDN  原文...
  • 用java实现服务器上多个文件打包,然后下载,下载完成后删除包!
  • test 目录下有三 py 文件,分别为 cmmd.py、hello.py、test2/word.py, 依赖关系如下(A>B 表示 A 依赖于 B,或者说 A 中从 B 中 import 一些内容) cmmd.py > hello.py > word.py 三文...
  • maven 一次打包多个maven项目

    千次阅读 2018-11-19 22:33:38
    maven 一次打包多个maven项目。 使用场景 ...如果一个项目有多个子项目的pom.xml文件,比如我的项目路径是这样的,项目结构如图,如果没有一个总的pom文件,则不能一次打包多个maven项目。 总的...
  • vue中下载多个文件打包为一个zip

    千次阅读 2019-12-21 13:35:47
    // 需要下载打包的路径, 可以是本地相对路径, 也可以是跨域的全路径 const zip = new JSZip(); const cache = {}; const promises = []; data.forEach(item => { const promise = getFile(item).then(data => ...
  • 我指的是 **多个 .py 文件**。包括它的附件,比如.png格式的图片。有没人知道?
  • java多个文件压缩打包成zip下载

    万次阅读 2018-12-21 14:53:53
    java多个文件压缩打包成zip下载 如果实现批量操作一些文件,使之压缩打包成zip下载? 具体实现步骤如下: 设置下载文件名编码 创建zip输出流ZipOutputStream 将需要下载的文件流循环写入ZipOutputStream 关闭各个流...
  • 可以用来压缩打包单文件、多个文件、单个目录、多个目录。 Linux打包命令_tar tar命令可以用来压缩打包单文件、多个文件、单个目录、多个目录。 常用格式: 单个文件压缩打包 tar czvf my.tar.gz file1 多个...
  • 使用pyinstaller将含有多个py文件的工程打包成一个exe文件 1.首先创建一个spec文件,命名为main 使用Notepad++将main.spec文件打开,将第二步中的代码复制到文件中。 2.在文件中写下如下代码 # -*- mode: python -...
  • Python pyinstaller打包多个py文件成exe

    千次阅读 2020-09-03 14:52:42
    两种方式下进行打包。 第一种方式:可在 Pycharm 的 Terminal 控制台 中输入 pyinstaller main.py -p mysql.py -p other.py --hidden-import mysql --hidden-import other 其中 main.py 是主程序 mysql.py 和 other...
  • python桌面应用(pyinstaller打包多个py文件)   几个常见问题 一 、当写这篇文章的时候,pyinstaller官网版本对pyqt5打包可能会遇到Could not find QtWebEngineProcess.exe.的错误。解决方法为: 1.在github...
  • 多个python程序文件打包为.exe可执行文件
  • 1.跳过pyinstaller的安装,自行谷歌 2. 用cmd cd到你想要打包的py文件所在的文件夹下面,这里我的文件夹是ceshi;...3.运行命令pyi-makespec main.py,这里将会根据你的main.py创建一main.spec文件,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 512,565
精华内容 205,026
关键字:

怎么打包多个文件