【问题标题】:Compress image at client side (angularjs) and upload to server(nodejs)在客户端(angularjs)压缩图像并上传到服务器(nodejs)
【发布时间】:2015-10-02 16:04:03
【问题描述】:

我正在使用 ng-file-upload 指令将文件上传到我的应用程序中的 nodejs。现在,我正在尝试在上传之前压缩图像。为此,我尝试使用 Java Image Compress(JIC) 库的 compress 方法。它正在成功压缩图像。现在,问题是,我必须向我的服务器(nodejs)发送一个文件对象,但是 compress 方法返回一个带有 src 属性的图像。有没有办法用 url 获取文件对象?或在angularjs实现压缩并上传到nodejs的任何其他替代方式?任何帮助表示赞赏。

【问题讨论】:

  • 根据您的描述,您在客户端站点上有 JRE。你不能在从java压缩后立即将它上传到你的节点服务器吗?
  • 我不能...它说“请求实体太大”,因为我正在尝试上传 src 属性

标签: javascript angularjs node.js image compression


【解决方案1】:

我认为ng-image-compress 会解决您的问题。要使用它,

  • 下载 ng-image-compress
  • Bower - bower 安装 angular-image-compress。
  • 在您的应用程序中包含 angular.js 和 angular-image-compress.js 并将 ngImageCompress 作为依赖项添加到您的主模块。

angular.module('myApp', ['ngImageCompress']);

然后你可以包括 "resize-max-height="800" resize-max-width="800" resize-quality="0.7" resize-type="image/jpg" ng-image-compress ”在您的文件类型输入中压缩您的图像。

您可以在https://github.com/oukan/angular-image-compress找到更多详细信息

【讨论】:

  • 更新了我的答案,我认为这会有所帮助。
  • 图像压缩我同意,但现在你将如何在发布请求中发送它
【解决方案2】:

设置请求头 Content-Encoding: gzip 会自动压缩

【讨论】:

  • 这可能没有用,我需要进行客户端图像压缩,如果用户尝试上传大文件,则只需在客户端压缩它。即在上传到服务器之前
  • @pydev 你是在使用 node-webkit 还是在浏览器中
  • 它在浏览器中,我正在开发一个meanstack应用程序
猜你喜欢
  • 1970-01-01
  • 2016-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-24
  • 1970-01-01
  • 2014-02-13
  • 2014-08-05
相关资源
最近更新 更多