最近一个项目,需要把员工的照片上传到数据库,程序已经做好了,但用户在使用的过程中出现了问题.因为用户收集回来的图片大小不一,有些图片可能是用数码相机拍的,比较大,在上传的过程中速度慢不说,有时还会把程序拖死.现在想要把上传的图片在上传前进行压缩,需求有以下几点:1.直接在内存中压缩,压缩后的文件不要保存到硬盘上(因为数量很多).
2.压缩成指定的尺寸.
3.压缩后的文件需转换成二进制数组byte[],以便后续的上传工作.昨天试了一天,没什么头绪,网上给出的多数不满足第1条,而我自己卡在了第3条
请各位大大不吝指教贴出我上传图片的代码:
FileStream fs = File.OpenRead(uploadfilepath);//上传文件的路径
Byte[] tempBuff = new Byte[fs.Length];
fs.Read(tempBuff, 0, tempBuff.Length);
var handle = new STAFFINGService.STAFFINGServiceClient();
handle.SaveEmp_File(f_emp_id,tempBuff2);//f_emp_id是员工ID加断点看了一下,如果图片过大,在handle.SaveEmp_File(f_emp_id,tempBuff2);就会报错