为了账号安全,请及时绑定邮箱和手机立即绑定

请问如下这种方案是否可行?

请问如下这种方案是否可行?

幕布斯6054654 2023-04-05 18:14:26
当用户通过浏览器上传图片时,不管用户用了多大的图片,都使其能够上传,现在想用JS先在浏览器上对图片进行压缩处理,然后上传,而不是将整个图片上传到后台服务器然后在压缩后存储。新浪微博在上传图片的时候是怎样一种解决方案?请各路大牛不吝赐教!谢谢。
查看完整描述

2 回答

?
红颜莎娜

TA贡献1842条经验 获得超12个赞

<script language="JavaScript" type="text/javascript"> 
function DrawImage(ImgD,FitWidth,FitHeight) 
{ 
var image=new Image(); 
image.src=ImgD.src; 
	if(image.width>0 && image.height>0) 
	{ 

		if(image.width>FitWidth) 
		{ 
			ImgD.width=FitWidth; 
			ImgD.height=(image.height*FitWidth)/image.width; 
			if(ImgD.height>FitHeight)
			{
				ImgD.height=FitHeight; 
				ImgD.width=(image.width*FitHeight)/image.height; 
			}
		} 
		else if(image.height>FitHeight) 
		{ 
			ImgD.height=FitHeight; 
			ImgD.width=(image.width*FitHeight)/image.height; 
			if(image.width>FitWidth)
			{
				ImgD.width=FitWidth; 
				ImgD.height=(image.height*FitWidth)/image.width; 
			}
		}		else
		{ 
			ImgD.width=image.width; 
			ImgD.height=image.height; 
		} 
	} 
} 
</script>

最近做一个页面时用到的,不知道符不符合你的需求!


查看完整回答
反对 回复 2023-04-07
?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

如果要所有运算都在客户端通过js完成,目前只有html5的canvas和file api才能满足你的需要。但是对国内用户来说,支持html5的浏览器普及率还不够高。

新浪微博的图片上传使用的是图片上传后然后,再在服务器端压缩的方法,实际上这种方式的消耗也很少。目前普遍上使用的都是这种方式,因为只需要在上传的时候压缩一次。


查看完整回答
反对 回复 2023-04-07
  • 2 回答
  • 0 关注
  • 84 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信