我先拿到图片后转成byte[]数组 然后把byte[] 通过流保存在别的路径下 可是发现多大的图片 保存进去 大小都变成了128KB 百度不到原因 求大神 此为保存方法
public static string SaveImages(byte[] imgFile, string savepath) { MemoryStream ms = null; FileStream fs = null; string allpath = HttpContext.Current.Server.MapPath(savepath); ms = new MemoryStream(imgFile); fs = new FileStream(allpath, FileMode.OpenOrCreate); ms.WriteTo(fs); string root = System.Configuration.ConfigurationSettings.AppSettings["ImageSite"].ToString(); string picPathRes = root + savepath.Replace("~", ""); ms.Close(); fs.Close(); ms = null; fs = null; return picPathRes; }
试试 File.WriteAllBytes
检查下服务器上传大小限制,防火墙限制,路由器限制。。。反正就是某个东西在限制。
Stream output = null;//这里构建一个输出文件流,也就是打开一个文件 byte[] buffer = new byte[4096]; int read = 0; Stream responeStream = res.GetResponseStream(); while((read = responseStream.Read(buffer, 0, buffer.Length)) > 0) { output.Write(buffer, 0, read); }
可以试试这个方法,你可以把buffer设置大一点!