精华内容
下载资源
问答
  • python 压缩文件并上传文件

    千次阅读 2018-08-28 21:36:57
    #! /usr/bin/env python # -*- coding:utf-8 -*- ...#zip压缩模块 import zipfile #上传模块 import paramiko remoteIp = '192.168.1.100' remotePort = '22' remoteUser = 'root' remotePw = '123456' def Compre...

    #! /usr/bin/env python
    # -*- coding:utf-8 -*-

    import os
    #zip压缩模块
    import zipfile
    #上传模块
    import paramiko

    remoteIp = '192.168.1.100'
    remotePort = '22'
    remoteUser = 'root'
    remotePw = '123456'

    def Compress(dirs, path):
        kZip = zipfile.ZipFile(path, 'w', zipfile.ZIP_DEFLATED)
        for dir in dirs:
            for dirpath, dirnames, filenames in os.walk(dir):
                for file in filenames:
                    kZip.write(os.path.join(dirpath,file))    #绝对路径
        kZip.close()
        print('compress finished')
        
    def Upload_file(local_path, remote_path):
        
        try:
            kParamiko = paramiko.Transport(remoteIp,remotePort)
            print('Transport Success!')
            kParamiko.connect(username = remoteUser, password = remotePw)
            print('connect Success!')
            kFtp = paramiko.SFTPClient.from_transport(kParamiko)
            print('from_transport Success!')
            local_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), local_path)
            print local_path
            kFtp.put(localpath=local_path,remotepath=remote_path)
            print('upload ' + local_path + ' Success!')
        except Exception as e:
            print(e)
        finally:
          kFtp.close()
          print("done")
          
    files = ['./resource']
    local_path = "resource.zip"
    remote_path = "/prj/git_dev/release/game/" + local_path
    Compress(files, local_path)
    Upload_file(local_path,remote_path)
     

    展开全文
  • 前言:  JsZip客户端压缩客户选择的文件并上传。...客户端压缩文件测试</title> <script src="./jquery.min.js" ></script> <script src="./jszip

    前言:

       JsZip客户端压缩客户选择的文件并上传。

    就不BB啦 !直接上干货。

    <html>
    <head>
     <title>客户端压缩文件测试</title>
     <script src="./jquery.min.js" ></script>
     <script src="./jszip.js" ></script>
    </head>
    <body>
     <span>选择文件:</span><input type="file" id="files1" /> <hr>
     <button onclick="toZip()" >压缩选择的文件并上传</button>
     <script >
        function toZip(){
    	  
    	     //file.files 是一个fileList对象 fileList里面是file对象
              var file = document.getElementById("files1");
    		 
    		 //文件读取成功 将文件打包成zip
    		 
    		  var zip = new JSZip();
    		  
    		  //添加需要压缩的文件 file对象
    		  zip.file(file.files[0].name, file.files[0]);
              //zip.file("mimetype", "application/zip");
    		  
    		  //return promise对象   该方法是异步方法 需要注意!上传和修改文件内容需要在此方法中,我就是因为这个坑浪费三四个小时
    		  zip.generateAsync({type:"Blob",compression: "DEFLATE"}).then(function(content) {
    		  
    		    //第一种方法
    		    //创建file对象
    			var fils = new File([content],'test.zip',{type: "zip"});
    			 
    			//创建提交表单 并将file对象放入form表单中
    			var formData = new FormData();
    			formData.append("file",fils);
    			  
    			//第二种方法 未测试 这个我也是看别人的:https://www.jianshu.com/p/cda557daad1f
    			var fromData2 = new FormData();
    			formData.append("blob",content);
    			
    			//ajax上传formData
    			 $.ajax({
    				url:'upload',
    				type:'POST',
    				data:formData,
    				processData:false,
    				contentType:false,
    				success:function (data) {
    				}
    			 });
    		  });
    	  
    	}
     </script>
    <body>
    <html>

     

    展开全文
  • 主要介绍了angularjs客户端实现压缩图片文件并上传实例,本文直接给出代码实例,需要的朋友可以参考下
  • FTP上传文件压缩文件生成CSV文件代码文件生成上传至FTP文件管理服务器
  • PHP文件压缩并上传

    2012-08-11 17:32:59
    PHP 完成按目录压缩 FTP的一段PHP代码
  • 用Struts2实现压缩文件上传到Tomcat服务器该工程指定目录下,用JS实现上传控制。
  • 指导文件上传如何控制文件大小压缩文件
  • C# 利用Rar压缩文件并FTP上传

    千次阅读 2017-03-13 08:59:13
    1.利用Rar压缩文件 /// /// 使用Rar压缩文件 /// /// 待压缩文件路径 /// 压缩后的文件路径 /// 返回压缩结果 public string RarFile(string fromFilePath, string rarFilePath)

    1.利用Rar压缩文件

            /// <summary>
            /// 使用Rar压缩文件
            /// </summary>
            /// <param name="fromFilePath">待压缩文件路径</param>
            /// <param name="rarFilePath">压缩后的文件路径</param>
            /// <returns>返回压缩结果</returns>
            public string RarFile(string fromFilePath, string rarFilePath)
            {
                try
                {
                    //Rar程序安装目录
                    var fileName = @"C:\Program Files\WinRAR\rar.exe";
    
                    //命令行参数  
                    var arguments = " a " + rarFilePath + " " + fromFilePath;
                    var startInfo = new ProcessStartInfo();
                    startInfo.FileName = fileName;
                    startInfo.Arguments = arguments;
                    startInfo.WindowStyle = ProcessWindowStyle.Hidden;
    
                    //打包文件存放目录  
                    var dir = Path.GetDirectoryName(fromFilePath);
                    if (dir != null)
                    {
                        startInfo.WorkingDirectory = dir;
                        var process = new Process { StartInfo = startInfo };
                        process.StartInfo.RedirectStandardOutput = true;
                        process.StartInfo.RedirectStandardError = true;
                        process.StartInfo.UseShellExecute = false;
                        process.StartInfo.CreateNoWindow = true;
    
                        process.Start();
                        process.WaitForExit();
                        var output = process.StandardOutput.ReadToEnd();
                        var errMsg = process.StandardError.ReadToEnd();
                        process.Close();
    
                        //rar可能是中文版或英文版
                        if (output.IndexOf("完成", StringComparison.Ordinal) > -1 || output.ToLower().IndexOf("done", StringComparison.Ordinal) > -1)
                        {
                            return "完成";
                        }
                    }
                    return "文件所在目录不存在";
                }
                catch (Exception ex)
                {
                    return ex.Message;
                }
            }
    调用方法:

                //将文件压缩到同级目录
                var fromFile = "";
                var dir = Path.GetDirectoryName(fromFile);
                var name = Path.GetFileNameWithoutExtension(fromFile);
                var tofile = dir.Combine(name + ".zip");
                var result = RarFile(fromFile, tofile);


    2.通过FTP上传文件

           /// <summary>
            /// Ftp上传文件
            /// </summary>
            /// <param name="localFile">本地文件路径</param>
            /// <param name="ftpServer">ftp服务器地址</param>
            /// <param name="ftpUserName">ftp用户名</param>
            /// <param name="ftpPassword">ftp用户密码</param>
            /// <returns></returns>
            public string Upload(string localFile, string ftpServer, string ftpUserName, string ftpPassword)
            {
                if (File.Exists(localFile))
                {
                    var fileInfo = new FileInfo(localFile);
                    using (var fileStream = fileInfo.OpenRead())
                    {
                        var length = fileStream.Length;
                        var request = (FtpWebRequest)WebRequest.Create("ftp://" + ftpServer + "/" + fileInfo.Name);
                        request.Credentials = new NetworkCredential(ftpUserName, ftpPassword);
                        request.Method = WebRequestMethods.Ftp.UploadFile;
                        request.UseBinary = true;
                        request.ContentLength = length;
                        request.Timeout = 10 * 1000;
                        try
                        {
                            var stream = request.GetRequestStream();
                            var BufferLength = 1024 * 1024; //1M   
                            var b = new byte[BufferLength];
                            int i;
                            while ((i = fileStream.Read(b, 0, BufferLength)) > 0)
                            {
                                stream.Write(b, 0, i);
                            }
                            stream.Close();
                            stream.Dispose();
                            return "上传完毕";
                        }
                        catch (Exception ex)
                        {
                            return ex.Message;
                        }
                    }
                }
                return "本地文件不存在!";
            }
    通过以上方式,再做个定时任务,可以将服务器文件定期备份到指定的ftp上。

    展开全文
  • 从前端页面加载压缩包压缩文件,然后后端用MultipartFile类型接收,怎么将该文件解压到某一位置,不区分Windows系统和linux系统求大佬告知
  • shell脚本按时间条件导出表数据,读取文件字节数、文件大小、文件生成时间、压缩导出文件上传指定ftp目录
  • 1、日志记录 2、日志文件压缩 3、文件上传到阿里云服务器(OSS) 4、上传成功后文件删除
  • 改造layui的上传组件,实现将大图片压缩然后进行上传,感兴趣的可以下载!
  • 实现多个文件上传以及图片的压缩,这里上传的是图片文件
  • 上传压缩文件到相应的目录下去,可以下载文件
  • 主要介绍了Shell脚本实现上传zip压缩文件到FTP服务器,本文直接给出实现代码,需要的朋友可以参考下
  • c#.net 多文件上传并自动压缩图片

    千次阅读 2019-01-24 17:46:53
    项目中需要上传附件,类型包括pdf、word、excel、图片等,要求如果上传文件中有图片需要自动压缩。 解决方案: 在web端使用canvas把图片压缩成较小的格式。 开发过程中遇到不少难点,贴出代码供大家参考,js...

    需求:

    项目中需要上传附件,类型包括pdf、word、excel、图片等,要求如果上传的文件中有图片需要自动压缩。

    解决方案:

    在web端使用canvas把图片压缩成较小的格式。

    开发过程中遇到不少难点,贴出代码供大家参考,js代码:

    
     /*
      说明:这是上传插件,基于jquery(暂时还没有做成插件的形式)
      时间:2019-01-25
      作者:gaobin
      */
    var ud_upload = {
        paras: {
            btn: "",//触发 按钮 的id
            fileName: "AttachmentFile",//上传file的名称
            uploadPath: "",//上传路径
            accept: "image/*",// 图片"image/*",所有文件:*/*  
            isMultiple: true,//默认上传多个文件
            data: function () {
                return {};
            },
            complete: function () { }
        },
    
        upload: function (file, name) {
            console.log("上传");
            var _this = this;
            //开始上传非图片文件
            var formData = new FormData();
            //压缩后的图片放到form中
            formData.append("AttachmentFile", file);
            if (typeof file === "string") {
                formData.append("AttachmentFileTitle", name);
            }
            var _data = _this.paras.data();
            //向form中添加客户参数
            for (var key in _data) {
                formData.append(key, _data[key]);
            }
            $.ajax({
                url: _this.paras.uploadPath,
                type: 'POST',
                dataType: "JSON",
                data: formData,
                processData: false,  //tell jQuery not to process the data
                contentType: false,  //tell jQuery not to set contentType
                async: false,
                cache: false,
                success: function (res) {
                    _this.paras.complete(res);
    
                    //filesArr.count--;
                    //delete filesArr.arr[0];
                }
            });
    
            // }
        },
        filesArr: { count: 0, arr: [] },
        callback: function callback(img, file) {
            //这里传递过来的img图片对象是装载完毕的
    
            //开始压缩img
            var data = compress(img, {});
            img = null;
            this.uploadImg(data, file.name);
        },
        init: function (paras) {
            //显示上传中
            //top.loading();
            var _this = this;
    
    
            //初始参数
            var _p = $.extend({}, _this.paras, paras);
            _this.paras = _p;
    
            $("#" + paras.btn).bind("click", function () {
    
                //触发上传,这里id要唯一 ,否则会出错
                $("#" + paras.fileName + _p.btn).click();
            });
    
            var _temp_form = $("<form class='hidden'>", {
                //"id": "form_update_id",
                // "enctype": "multipart/form-data"
            });
    
            _temp_form.append($("<input>", {
                "id": _p.fileName + _p.btn,
                "type": "file",
                "accept": _p.accept,
                "multiple": _p.isMultiple,
                "name": _p.fileName,//上传文件的名称,需要与action参数的名称一致
                change: function () {
                    //起始上传任务
    
                    //这里非常关键,如果直接循环this.files将只能上传最后一个文件
                    var files = Array.prototype.slice.call(this.files);
                    var imgarray = [];
                    files.forEach(function (fileItem, fi) {
    
    
                        //图片以image开头,其他以appliction开头
                        if (fileItem.type.indexOf("image/") == 0) {
                            //file转image对象
                            var reader = new FileReader();
                            reader.onload = function () {
                                imgarray[fi] = new Image();
    
                                //关键点,要传入this,否则获取不到img中的数据
                                imgarray[fi].onload = function () {
    
                                    //开始压缩img
                                    var base64 = compress(imgarray[fi], {});
                                    //放到队列中
                                    console.log(fileItem.name + base64);
                                    // _this.filesArr.arr.push(base64);
                                    _this.upload(base64, fileItem.name);
    
                                }; //当图像装载完毕
                                imgarray[fi].src = event.target.result;//base64
                            };
                            reader.readAsDataURL(fileItem);//读取图像文件 result 为 DataURL, DataURL 可直接 赋值给 img.src
    
                        } else {
                            //非图片将验证文件大小,大于4MB禁止上传
                            if (files[fi].size > (4 * 1024 * 1024)) {
                                $.msg.alert("《" + files[fi].name + "》大于4兆,禁止上传");
                                //因多文件上传,因此不停止循环
                                // break;
                            }
                            //上传
                            //_this.filesArr.arr.push(fileItem);
                            _this.upload(files[fi]);
                        }
    
                    });
                    //-end 文件循环
    
                }
            }));
    
            $("body").append(_temp_form);
            return this;
        }
    };

    服务端代码没什么难点,如果不会写可以下载。

    难点:

    同时上传多个文件时发现只能最后一个上传成功,开始我是直接使用this.files循环上传,测试了一下午发现这一行代码比较关键,   var files = Array.prototype.slice.call(this.files); 改成这样后多个文件可以正常上传了。

    全部源代码可下载:同时上传多个文件,图片自动压缩

    展开全文
  • Qt使用post上传压缩文件

    千次阅读 2016-11-04 13:43:25
    在项目中需要将本地的一个文件夹上传到服务器,于是想到先将起压缩成ZIP文件,然后上传压缩功能的做法见另一篇博文Qt将文件夹压缩成ZIP文件. 由于经验所限,不太懂网络编程。根据例子,使用 ...
  • js文件上传—图片压缩

    千次阅读 2017-03-25 13:06:37
    使用现有现有后台文件上传处理代码,即:不可修改后台处理代码。 —技术问题— js如何压缩图片,图片压缩后如何上传到后台,上传到后台又如何处理。 —现有技术— js对图片可以进行压缩。 —待解决问题— 图片压缩...
  • js上传文件(压缩文件)

    千次阅读 2018-07-02 13:48:01
    &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&...XMLHttpRequest上传文件(压缩文件)&lt;/title&gt; &lt;script type="text/javascript"&gt; /*
  • 在开发中,前端上传文件流,在后台接口中通常是用MultipartFile类型的流格式接收,但是接收到的文件流往往不能满足我们的使用要求,我们需要转为File类型的文件流再去读取文件的宽高,大小等属性进行压缩上传等...
  • 这几天要搞图片上传到服务器,折腾了好久终究是搞定了,现在分享给大家,也顺便记录下,...js 展示选择的图片在网页上,并上传服务器 function prvImage (preImageId, imageFile) { var $imge = new Image(); v
  • csdn 在编写博客上怎么没有上传压缩文件的功能呢 ![图片说明](https://img-ask.csdn.net/upload/201810/12/1539332052_776319.jpg)
  • Dreamweaver中可视化一步一步操作,不写烦杂...3、明白自己的网站是否支持无组件图片、压缩文件上传,(注:一般个人、免费网站不支持上传的。)否则别浪费积分。 学会的朋友,也请支个声。回复一下,大家互相学习。
  • java代码保存上传文件_压缩图片
  • 可以上传压缩文件,然后进行解压,可以上传压缩文件,然后进行解压,可以上传压缩文件,然后进行解压,
  • 关于JavaFTP上传压缩文件

    千次阅读 2012-11-15 22:35:37
    在上传普通的txt文件是没问题了,但当我上传压缩文件的时候问题就出来了。当你打开压缩文件时,会提示 文件格式未知或者压缩文件数据已经损坏 。为解决这个问题,上传查了很久,终于得到答案,在此与大家分享。 ...
  • 由于不清楚服务器具体地址,只有jupyter 连接的情况下,上传文件。 方法一:用Linux命令 直接用linux命令,在jupyter中只需要在命令前加一个!即可。学校服务器上没有装zip,但装了tar,可以在压缩的时候选择文件...
  • 文件上传MultipartFile实现图片压缩

    千次阅读 2019-04-02 16:02:53
    之前写过一个文件上传,使用了spring的MultipartFile实现的,比较简单,限制了1M的大小,后来产品需求上传图片需压缩,遂着手开始实现 压缩工具 之前用过google的文件压缩工具thumbnailator,简单好用,决定这次也...
  • 需求场景:利用input 上传文件,限制文件类型为zip,或者rar压缩包类型。①尝试通过accept限制,发现除了zip和rar文件,excel,doc等文件也能选择。②于是,解决方案是通过对文件名的判断,增加一层过滤,代码如下...
  • 图片上传并压缩

    2012-05-18 10:14:57
    有相关JS判断的图片上传并压缩压缩效果还不错,不过也有不足之处,就是文件太大了,会直接跳转到文件上传页面,有点界面不友好,如果哪位大神解决了这个小问题,本人不胜感激

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 149,933
精华内容 59,973
关键字:

如何压缩文件并上传