如何缩小图片以进行网站上传?

时间:2016-03-16 15:44:59

标签: javascript asp.net

我有一个使用SqlServer数据库在.net中构建的站点。我们是一个市场,用户上传图像和产品说明。有些客户在上传图片时遇到问题。当我们要求他们只上传一张小照片时,它会起作用。如果我们可以在将文件大小发送到服务器之前缩小文件大小,我认为它会有很大帮助。我希望能够保持图像大,并在发送时将其缩小。有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:1)

有几种方法可以通过javascript实现您想要的效果

  • 用户在UI(using a plugin
  • 中裁剪图像
  • 使用javascript将所选文件调整大小到预定义的维度,在画布上绘制图像(read this article,解释了很多相关内容)
  • 在画布中处理图像,然后简单地降低图像的质量(画布的toDataURL方法的第二个参数,在此处阅读更多关于toDataURL的内容)

您需要在所有以前的选项中操作base64格式的图像。要将它们保存在服务器中,请在包含base64字符串的字段的表单中执行post post,然后在服务器中处理它。

答案 1 :(得分:0)

您可以限制用户上传的文件类型数量,坚持使用jpeg等高度压缩的图片格式。这将确保最小的文件大小。

我认为javascript无法在传输之前压缩原始图像。但您可以使用<canvas>进行拖放操作,然后在发布到服务器之前将图像缩放并保存在jpeg中。