精华内容
下载资源
问答
  • 本文主要介绍了canvas压缩图片转换成base64格式输出文件流的方法,具有很好的参考价值。下面跟着小编一起来看下吧
  • 网易云.NCM文件无压缩转格式软件,可以把只能会员期间才能听的ncm音乐文件转成MP3等格式,随时随地,无播放限制~
  • 最近做了个前端图片压缩,用到了很多js文件操作api,整理一下防止健忘: 1. filebase64 /** * 获取文件的Base64 * @param file {File} 文件 * @param callback {Function} 回调函数,参数为获取到的base64 */ ...

    最近做了个前端图片压缩,用到了很多js文件操作api,整理一下防止健忘:

    1. file转base64

    /**
     * 获取文件的Base64
     * @param file      {File}      文件
     * @param callback  {Function}  回调函数,参数为获取到的base64
     */
    function fileToBase64(file, callback) {
      const fileReader = new FileReader()
      fileReader.readAsDataURL(file)
      fileReader.onload = function () {
        callback(this.result)
      }
    }
    

    2. base64转blob

    /**
     * Base64转Blob
     * @param dataURL   {String}  base64
     * @param mimeType	{String}  [可选]文件类型,默认为base64中的类型
     * @returns {File}
     */
    function base64ToBlob(base64, mimeType = null) {
      const arr = dataURL.split(','),
      	defaultMimeType = arr[0].match(/:(.*?);/)[1],
      	bStr = atob(arr[1]),
      	u8arr = new Uint8Array(n)
      let n = bStr.length
      while (n--) {
        u8arr[n] = bStr.charCodeAt(n)
      }
      return new Blob([u8arr], {type: mimeType || defaultMimeType})
    }
    

    3. blob转file

    /**
     * Blob转File
     * @param blob     {Blob}   blob
     * @param fileName {String} 文件名
     * @param mimeType {String} 文件类型
     * @return {File}
     */
    function blobToFile (blob, fileName, mimeType) {
      return new File([blob], fileName, {type: mimeType})
    }
    

    4. base64直接转file

    /**
     * Base64转File
     * @param dataURL   {String}  base64
     * @param fileName	{String}  文件名
     * @param mimeType	{String}  [可选]文件类型,默认为base64中的类型
     * @returns {File}
     */
    function base64ToFile(base64, fileName, mimeType = null) {
      const arr = dataURL.split(','),
      	defaultMimeType = arr[0].match(/:(.*?);/)[1],
      	bStr = atob(arr[1]),
      	u8arr = new Uint8Array(n)
      let n = bStr.length
      while (n--) {
        u8arr[n] = bStr.charCodeAt(n)
      }
      return new File([u8arr], fileName, {type: mimeType || defaultMimeType})
    }
    

    5. 前端图片压缩和裁剪

    /**
     * 图片压缩和尺寸裁剪
     * @param file          {File}      图片文件
     * @param quality       {Number}    生成图片质量,0.0~1.0之间,质量越小、文件越小、图片越模糊
     * @param callback      {Function}  回调方法,参数为原文件(小于阈值的情况下)或压缩后的新文件
     * @param sizeThreshold {Number}    [可选]大小阈值,单位:B,默认500K
     * @param targetWidth   {Number}    [可选]生成图片的宽度,单位:px,默认800
     * @param targetHeight  {Number}    [可选]生成图片的高度,单位:px,默认值按宽度自适应获取
     */
    function pressImg (file, quality, callback, sizeThreshold = 512000, targetWidth = 800, targetHeight = null) {
      if (!file || !callback) {
        console.error('pressImg参数不完整!')
        return
      }
      if (!file.type.includes('image')) {
        console.error('文件格式非图片')
        return
      }
    
      fileToBase64(file, function (base64) {
        if (base64) {
          const image = new Image()
          image.src = base64
          image.onload = function () {
            if (file.size <= sizeThreshold && this.width <= targetWidth) {// 大小、宽度均小于阈值,则不需处理,返回原文件
              return callback(file)
            }
            const canvas = document.createElement('canvas')
            const context = canvas.getContext('2d')
            const scale = this.width / this.height
            canvas.width = targetWidth
            canvas.height = targetHeight || (targetWidth / scale)
            context.drawImage(image, 0, 0, canvas.width, canvas.height)
            const dataURL = canvas.toDataURL(file.type, quality)
            const newFile = base64ToFile(dataURL, file.name)
            callback(newFile)
          }
        }
      })
    }
    
    展开全文
  • Mac中如何压缩文件成RAR格式

    万次阅读 2019-05-27 16:41:00
    作为一款非常专业的解压缩工具,BetterZip包含unrar功能,允许我们打开和提取rar格式压缩文件。如果要创建和保存RAR存档,我们可以从其网站下载并安装rar命令行工具,或者我们也可以告诉BetterZip已安装它的位置。...

    作为一款非常专业的解压缩工具,BetterZip包含unrar功能,允许我们打开和提取rar格式压缩文件。如果要创建和保存RAR存档,我们可以从其网站下载并安装rar命令行工具,或者我们也可以告诉BetterZip已安装它的位置。需要注意的是:BetterZip并没有包括RAR许可证,必须单独购买。

    具体如何操作,请参考一下教程:

    1、运行BetterZip,依次点击【BetterZip】>【首选项】>【程序助手】,可以点击【下载并安装Rar】,或者去rar网站上进行下载安装包;

    程序助手
    图1:程序助手

    2、下载完成后,右击选择【服务】>【使用BetterZip解压】;

    使用BetterZip解压
    图2:使用BetterZip解压

    3、解压完成之后,将其放置到合适的位置,然后在【程序助手】中点击【查看】,找到rar,选择并点击【使用RAR】;

    查看
    图3:查看

    使用RAR
    图4:使用RAR

    Rar程序的路径
    图5:Rar程序的路径

    4、成功添加“Rar程序的路径”之后,我们退出BetterZip,然后使用BetterZip压缩文件,在压缩格式中,我们就可以选择RAR格式了。

    RAR格式
    图6:RAR格式

    只需要以上四步,我们就可以在Mac中将文件压缩成为.rar格式了。

    而且安装了Rar工具后,如果存档是使用足够的恢复记录构建的,BetterZip还可以重建丢失的卷,如果恢复卷可用并能够修复损坏的存档。

    转载于:https://my.oschina.net/u/2601873/blog/3054630

    展开全文
  • DMG是MAC OS上的压缩镜像文件,相当于在Windows上常见的ISO文件。DMG在苹果机上可以直接运行加载,在Windows PC上可以通过命令行软件dmg2iso.exe转换成ISO文件。 下载 下载地址:...

    基本概念 

    DMGMAC  OS上的压缩镜像文件,相当于在Windows上常见的ISO文件。DMG在苹果机上可以直接运行加载,在Windows PC上可以通过命令行软件dmg2iso.exe转换成ISO文件。

    下载

    下载地址:https://www.softpedia.com/get/System/Hard-Disk-Utils/dmg2iso.shtml

    使用

    命令运行格式:

    dmg2iso.exe 空格 filename(待转换文件名).dmg 空格 filename(转换后文件名).iso

    dmg2iso.exe是一个免费软件,但其功能相对有限,某些情况下目标dmg文件无法成功转换为ISO

    这种情况下可以使用UltraISO等商业软件进行格式转换。

    同时,用户可以在程序-常用工具-磁盘工具里面创建,大小自己定义的dmg文件,用来放程序,文件打包,或用来做一个限定容量的路径。然后你可以对这个磁盘做你要做的事情,如用TOAST刻录。因此说,dmg文件在Mac中又相当于一个软U盘。

    展开全文
  • hadoop hdfs 文件压缩 lzo gzip格式

    千次阅读 2018-10-17 17:52:00
    hadoop hdfs 文件压缩 lzo gzip格式代码如下 代码如下 // An highlighted block package com.mystery.learn.hadoop; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.*; import org....

    hadoop hdfs 文件解压缩 lzo gzip格式

    代码如下

    // An highlighted block
    
    package com.mystery.learn.hadoop;
    
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.fs.*;
    import org.apache.hadoop.io.IOUtils;
    import org.apache.hadoop.io.compress.CompressionCodec;
    import org.apache.hadoop.io.compress.CompressionInputStream;
    import org.apache.hadoop.io.compress.CompressionOutputStream;
    import org.apache.hadoop.util.GenericOptionsParser;
    import org.apache.hadoop.util.ReflectionUtils;
    
    import java.io.IOException;
    import java.io.OutputStream;
    import java.util.ArrayList;
    import java.util.List;
    
    public class CompressFactory {
    
        public static void main(String[] args) throws IOException, ClassNotFoundException {
    
            Configuration conf = new Configuration();
            String[] uargs = new GenericOptionsParser(conf, args).getRemainingArgs();
            String opt_type = uargs[0];
            String code_class = uargs[1];
            String source_dir = uargs[2];
            String sourceType = uargs[3];
            String targetType = uargs[4];
            if ("compress".equals(opt_type)) {
                compress(code_class, source_dir, conf, sourceType, targetType);
            } else if ("uncompress".equals(opt_type)) {
                uncompress(code_class, source_dir, conf, sourceType, targetType);
            }
    
        }
    
        /**
         * 压缩
         *
         * @param code_class
         * @param source_dir
         * @param sourceType
         * @param conf
         * @throws ClassNotFoundException
         * @throws IOException
         */
        public static void compress(String code_class, String source_dir, Configuration conf, String sourceType, String targetType) throws ClassNotFoundException, IOException {
            Class<?> codeClass = Class.forName(code_class);
            FileSystem fs = FileSystem.get(conf);
            CompressionCodec codec = (CompressionCodec) ReflectionUtils.newInstance(codeClass, conf);
    
            if (fs.isDirectory(new Path(source_dir))) {
                List<Path> list = listFiles(fs, source_dir);
                list.forEach(path -> {
    //            Path path = new Path(source_dir);
                    compressSingleFile(path, fs, codec, conf, sourceType, targetType);
                });
            } else {
                compressSingleFile(new Path(source_dir), fs, codec, conf, sourceType, targetType);
            }
    
        }
    
        private static void compressSingleFile(Path path, FileSystem fs, CompressionCodec codec, Configuration conf, String sourceType, String targetType) {
            if (path.getName().indexOf(sourceType) > 0) {
                FSDataInputStream input = null;
                CompressionOutputStream compress_out = null;
                try {
    
                    input = fs.open(path);
                    System.out.println("开始压缩------" + path.toUri());
                    FSDataOutputStream output = fs.create(new Path(path.toUri().toString().replace(sourceType, targetType)), () -> System.out.println("*"));
                    compress_out = codec.createOutputStream(output);
                    IOUtils.copyBytes(input, compress_out, conf);
                    System.out.println(path.toUri() + "--------压缩完成");
                    fs.delete(path, false);
                    System.out.println("------------------------------------------------开始压缩下一个文件-------------------------------------------------------");
                } catch (IOException e) {
                    e.printStackTrace();
                } finally {
                    IOUtils.closeStream(input);
                    IOUtils.closeStream(compress_out);
                }
            }
        }
    
    
        private static List<Path> listFiles(FileSystem fs, String source_dir) {
    
            List<Path> list = new ArrayList<>();
            Path path = new Path(source_dir);
            try {
                if (fs.isDirectory(path)) {
                    RemoteIterator<LocatedFileStatus> ril = fs.listFiles(path, true);
                    while (ril.hasNext()) {
                        list.add(ril.next().getPath());
                    }
                } else {
                    list.add(path);
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
            return list;
        }
    
        /**
         * 解压缩
         *
         * @param decode_class
         * @param source_dir
         * @param sourceType
         * @param targetType
         * @param conf
         * @throws ClassNotFoundException
         * @throws IOException
         */
        public static void uncompress(String decode_class, String source_dir, Configuration conf, String sourceType, String targetType) throws IOException, ClassNotFoundException {
            Class<?> decodeClass = null;
            decodeClass = Class.forName(decode_class);
            System.out.println("load lzo class completed: " + decodeClass.getName());
            CompressionCodec codec = (CompressionCodec) ReflectionUtils.newInstance(decodeClass, conf);
    
            FileSystem fs = FileSystem.get(conf);
            if (fs.isDirectory(new Path(source_dir))) {
                List<Path> list = listFiles(fs, source_dir);
                list.forEach(path -> {
    //            Path path = new Path(source_dir);
                    uncompressSingleFile(path, fs, codec, conf, sourceType, targetType);
                });
            } else {
                uncompressSingleFile(new Path(source_dir), fs, codec, conf, sourceType, targetType);
            }
    
        }
    
    
        public static void uncompressSingleFile(Path path, FileSystem fs, CompressionCodec codec, Configuration conf, String sourceType, String targetType) {
            if (path.getName().indexOf(sourceType) > 0) {
                FSDataInputStream input = null;
                OutputStream output = null;
                try {
                    input = fs.open(path);
                    System.out.println("开始解压------" + path.toUri());
                    CompressionInputStream codec_input = codec.createInputStream(input);
                    output = fs.create(new Path(path.toUri().toString().replace(sourceType, targetType)));
                    System.out.println(codec_input.toString() + "--" + output.toString());
                    IOUtils.copyBytes(codec_input, output, conf);
                    System.out.println(path.toUri() + "--------解压完成");
                    System.out.println("------------------------------------------------开始解压下一个文件-------------------------------------------------------");
                    fs.delete(path, false);
                } catch (IOException e) {
                    e.printStackTrace();
                } finally {
                    IOUtils.closeStream(input);
                    IOUtils.closeStream(output);
                }
            }
        }
    }
    //执行命令如下
    
    /**
    压缩操作
    **/
    -----gzip格式目录压缩-----
    hadoop jar Hadoop.jar compress org.apache.hadoop.io.compress.GzipCodec  /vehicle/pred/alarm/2018/07/13  .log .gz
    
    ---压缩单个文件----
    
    hadoop jar Hadoop.jar compress org.apache.hadoop.io.compress.GzipCodec  /vehicle/pred/alarm/2018/07/14/1531582800000-192.168.3.73.log    .log   .gz
    
    /**
    *解压操作
    **/
    hadoop jar Hadoop.jar uncompress org.apache.hadoop.io.compress.GzipCodec  /vehicle/alarm/2018/07/16  .gz .log
    
    -------lzo格式--------
    /*压缩操作*/
    hadoop jar Hadoop.jar compress  com.hadoop.compression.lzo.LzopCodec /vehicle/alarm/2018/07/10  .log .lzo
    /*解压操作*/
    hadoop jar Hadoop.jar uncompress  com.hadoop.compression.lzo.LzopCodec /vehicle/alarm/2018/07/10   .lzo .log
    
    
    展开全文
  • 一、存储 行存储的特点: 查询满足条件的一整行数据的时候,列存储则需要去每个聚集的字段找到对应的...每个字段的数据类型一定是相同的,列式存储可以针对性的设计更好的设计压缩算法。 Hive中常用的存储格式: 1....
  • python 压缩文件为zip格式

    千次阅读 2019-03-25 17:43:54
    1.创建zip压缩对像 f=zipfile.ZipFile(file, mode="", compression=ZIP_...mode='w’压缩文件 2.将文件写入zip压缩文件 f.write(filepath)将文件直接写入压缩文件 f.write(filepath,dstdir+filename)将文件打包...
  • 哈夫曼实现文件压缩压缩(c语言)

    万次阅读 多人点赞 2019-01-23 17:04:47
    写一个对文件进行压缩和解压缩的程序,功能如下: ① 可以对纯英文文档实现压缩和解压; ② 较好的界面程序运行的说明。 介绍哈夫曼: 效率最高的判别树即为哈夫曼树 在计算机数据处理中,霍夫曼编码...
  • )gzip文件格式详解

    千次阅读 2017-08-25 19:58:31
    文件头由固定长度的部分和扩展部分组成,扩展部分不一定存在,尤其是网络传输使用的HTTP压缩,如果使用了gzip格式,那么对应的压缩报文一般都不带扩展部分。gzip文件格式通过将头部中定长部分的某些比特位置位来...
  • 文件进行zip压缩 和base64加密和解密的几个工具类
  • 常见的图像文件格式 无损压缩

    万次阅读 2016-03-03 09:38:47
    常见的图像文件格式  一、BMP格式 BMP是英文Bitmap(位图)的简写,它是Windows操作系统中的标准图像文件格 式...这种格式的特点是 包含的图像信息较丰富,几乎不进行压缩,但由此导致了它与生俱生来的缺 点--占
  • Linux查看压缩文件内容【

    千次阅读 2018-09-10 10:22:00
    查看一个归档或者压缩文件的内容而无需解压它 得益于 Linux 社区,有很多命令行工具可以来达成上面的目标。下面就让我们来看看使用它们的一些示例。 1、使用 vim 编辑器 vim 不只是一个编辑器,使用它我们可以干...
  • Java多文件压缩下载解决方案

    万次阅读 2018-09-07 18:00:33
    会员运营平台经过改版后页面增加了许多全部下载链接,上周上线比较仓促,全部下载是一个直接下载ZIP压缩文件的链接,每个ZIP压缩文件都是由公司运营人员将页面需要下载的文件全部压缩成一个ZIP压缩文件,然后通过...
  • ZLIB 压缩的数据格式规范

    千次阅读 2019-02-19 09:29:09
    ZLIB 压缩的数据格式规范版本3.3   本备忘录的状态:    本备忘为互联网社区提供信息。本备忘并非指定任何性质的互联网标准。本备忘可以无限制发布。   互联网工程指导小组(Internet Engineering Steering ...
  • 使用openoffice进行各种格式转换为PDF(详细)第一次写博客记录一下openoffice使用方法pom.xml具体代码测试 第一次写博客记录一下openoffice使用方法 首先下载openoffice:传送门:...
  • QQ音乐下载得来的加密音乐文件可以使用 Unlock Music 解密,但是对于博主这种不追求音质又偏爱MP3的人来说,解密后的文件还需要再次转换格式,由于不想安装任何格式转换工具软件,就想起了神器FFMpeg。即使解密后...
  • 压缩编码与格式

    千次阅读 2017-07-05 11:15:41
    1、视频编码是指视频文件压缩过程中的运算方法,同一种格式的视频文件其视频编码和音频编码有可能不同。比如同样是AVI格式的视频文件,其视频编码可以是DIVX、XVID、AVC、H.263、H.264、Windows Madia Video等等,...
  • windows下将文件压缩成bz2格式|windows下将文件压缩成bz2格式|windows下将文件压缩成bz2格式|windows下将文件压缩成bz2格式|windows下将文件压缩成bz2格式
  • 如何把TS视频文件转换为MP4格式

    千次阅读 2021-03-10 15:13:37
    在过去,TS格式是流行的视频封装格式,可以包含多个音轨和字幕等数据。但随着时代的发展,TS格式已被渐渐淘汰,在使用时可能会遇到播放支持的问题。...本文将主要介绍什么是TS文件以及如何将TS视频文件转换为MP4格式
  • #include <stdlib.h> #include <stdio.h> #include <string.h>...//Written by zhangb on June 10, 2019 .../* wav音频头部格式 */ typedef struct _wave_pcm_hdr { char riff[4]; ...
  •  java开发中经常遇到对图片的处理,JDK中也提供了对应的工具类,不过处理起来很麻烦,Thumbnailator是一个优秀的图片处理的开源Java类库,处理效果远比Java API的好,从API提供现有的图像文件和图像对象的类中简化了...
  • 总结three.js加载gltf格式文件开发过程中遇到的坑 项目介绍 此项目主要是做一个三维运维机房,笔者刚接触three一个月,属于初学者。项目起始,加载模型用的FBX格式,直接引用的3D格式文件,后期发现在性能较差的...
  • Dicom文件的无损压缩

    千次阅读 2020-04-16 15:43:55
    在进行无损压缩的主题之前,先说一下什么是传输语义吧!毕竟是否进行压缩最直接的观察点就在传输语义; 引用一下下面一句话(https://www.medicalconnections.co.uk/kb/Transfer-Syntax/) Transfer Syntax is the...
  • java MultipartFile 文件转File 与 图片压缩从网上找的然后整合了一下,供大家参考一下!java图片压缩MultipartFile 文件转File //转换并压缩图片 CommonsMultipartFile cf = (CommonsMultipartFile)mfile; ...
  • WinRAR压缩文件参数详解

    千次阅读 2017-02-10 18:14:14
    将D:/wk.doc 压缩为:final.rar  d:/winrar/rar a d:/final.rar d:/wk.doc  将final.rar中的wk.doc解压到F:盘  rar e d:/final.rar F:  将final.rar转换成自解压文件  rar s final,rar(默认转换到...
  • DXT纹理压缩格式解析

    万次阅读 2015-12-05 15:56:13
    我们知道游戏中对于3D物体表面细节... 所以各个平台上都在使用纹理压缩的技术,让纹理贴图在内存占用和显示效果能达到一个尽可能的平衡。在DirectX中,使用一种叫做DXT的纹理压缩技术,目前这种技术被大部分显卡所支持
  • 《 Linux下zip格式文件的解压缩压缩操作命令详解 》 zip格式文件的解压缩压缩操作: 1、把/home目录下面的huazai目录压缩为huazai.zip  zip -r huazai.zip huazai #压缩huazai目录  2、把/home目录...
  • 哈夫曼编码实现文件压缩和解压

    万次阅读 多人点赞 2018-12-25 14:22:33
    哈夫曼编码是基于哈夫曼树实现的一种文件压缩方式。 哈夫曼树:一种带权路径最短的最优二叉树,每个叶子结点都有它的权值,离根节点越近,权值越小(根节点权值为0,往下随深度增加以此类推),树的带权路径等于...
  • 更高的压缩比,更好的性能–使用ORC文件格式优化Hive Hive  lxw1234@qq.com 2年前 (2016-04-05) 15492℃ 2评论关键字:orc、index、hiveHive从0.11版本开始提供了ORC的文件格式,ORC文件不仅仅是一种列式文件...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 235,472
精华内容 94,188
关键字:

压缩文件怎么转格式