【问题标题】:Can a large file be compressed before upload from UI in angular?可以在从 UI 以角度上传之前压缩大文件吗?
【发布时间】:2020-08-14 18:14:53
【问题描述】:

有没有办法在从前端上传之前压缩文件?我有一个非常大的文件要上传,这需要很多时间。我正在寻找一种方法来减少上传时间。

【问题讨论】:

  • 我的文件大多是 excel 文件。
  • 这个问题实际上与角度无关。如果你能正确地框架它会很好,这样其他人就可以更容易地找到相同问题的解决方案。此外,如果文件大于浏览器供应商确定的使压缩有效的阈值,您的浏览器可能会在 HTTP 级别 (Content-Encoding: gzip) 透明地压缩上传。你测试过吗?

标签: javascript angular file-upload angular7 angular8


【解决方案1】:

如何使用 html-to-image 插件将图像转换为较低质量的图像,然后按照您的方式应用上传。

npm install --save html-to-image

您可以尝试其他 htmlToImage 方法,由您决定。我用过的如下:

htmlToImage.toJpeg(node, { quality: 0.95 }).then(function (dataUrl) {
  let link = document.createElement('a');
  link.download = "page" + '.jpeg';
  link.classList.add("specialanchor")
  link.href = dataUrl;
  link.click();
}).catch(function (error) {
  // console.error('oops, something went wrong!', error);
});

要了解更多信息: https://www.npmjs.com/package/html-to-image

【讨论】:

    【解决方案2】:

    有一些文件压缩库,例如 wasm-flateJSCompress。 如果您使用 Google this,您应该会得到很多可以帮助您在浏览器中进行文件压缩的​​点击。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多