【问题标题】:Profile picture uploads - Client side or server side个人资料图片上传 - 客户端或服务器端
【发布时间】:2015-10-30 17:27:00
【问题描述】:

构建上传头像系统。

寻找一个允许方形图像并允许用户选择大图像的一小部分(意味着需要裁剪)的系统。还可以根据需要根据大小和尺寸进行验证。

客户端裁剪

存在基于 HTML5 画布和本地存储的解决方案,例如 ngImgCrop、Angular Image Crop,但也存在诸如 -

之类的问题
  • 如果结果过高(超过 1 MB),图像会失真
  • 某些旧的(非 html5)浏览器可能不支持

服务器端裁剪

像 Jcrop 这样的解决方案,但工作流程长且耗时/带宽消耗。

  • 客户端需要将完整的大文件发送到服务器,即使其大小为 5MB
  • 然后从服务器再次下载以进行预览
  • 然后显示裁剪 UI 并发送裁剪坐标
  • 服务器执行裁剪并创建文件
  • 裁剪的图像已下载并显示

什么是最好的方法。告诉我更多的优点和缺点。一个伟大的创业公司应该做什么?目前的行业标准解决方案是什么?为什么?

【问题讨论】:

    标签: javascript angularjs image client-server user-experience


    【解决方案1】:

    对此的最佳答案主要取决于您的目标受众。许多习惯使用在线服务的人会准备好上传的个人资料图片的预裁剪或小版本,并且知道不要尝试上传 20 兆像素的照片。如果您的目标受众更传统,那么您可能希望将方法转变为更加宽容,并专注于较旧的、广泛支持的技术。

    对我来说,最好的解决方案如下:

    • 专注于客户端解决方案 - 让用户在客户端裁剪照片,然后在服务器上对其进行优化。
    • 为了应对海量照片图像,要么有一个简单的标签“最大文件大小:1mb”,要么在他们最初选择照片时检查文件大小,然后先上传并调整大小/压缩它。

    一个伟大的初创公司应该做什么?目前行业标准解决方案是什么?为什么?

    一个伟大的创业公司不应该受到行业标准的限制或过度影响,应该通过各种方法本身进行推理。

    【讨论】:

      猜你喜欢
      • 2014-01-11
      • 2012-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-31
      • 2020-11-02
      • 2017-05-04
      相关资源
      最近更新 更多