方法一:这种方法是可以正常保存图片
- C# code
HttpPostedFile oFile = HttpContext.Current.Request.Files[HttpContext.Current.Request.Files.AllKeys[0]]; oFile.SaveAs(System.Web.HttpContext.Current.Server.MapPath("~") + sFileName);//上传图片
方法二:这种方法保存的图片是无法打开的.因为要用到webservice上传.需要传递流或者是二进制.传流过去的上传也无法正常保存图片.
- C# code
HttpPostedFile oFile = HttpContext.Current.Request.Files[HttpContext.Current.Request.Files.AllKeys[0]]; using (FileStream fs = new FileStream(sFilePath, FileMode.Create, FileAccess.Write, FileShare.None)) { const int bufferLen = 4096; byte[] buffer = new byte[bufferLen]; int count = 0; while ((count = oFile.InputStream.Read(buffer, 0, bufferLen)) > 0) { fs.Write(buffer, 0, count); } fs.Close(); oFile.InputStream.Close(); }
求解..谢谢.
------解决方案--------------------------------------------------------
byte[] buffer = new byte[oFile.ContentLength];
System.IO.Stream fs;
fs = (System.IO.Stream)oFile.InputStream;
fs.Read(buffer, 0, oFile.ContentLength)
WebService1.UploadFile(b, FileName);
fs.Close();
------解决方案--------------------------------------------------------
InputStream的类型就是System.IO.Stream类型的,其实不用转
http://msdn.microsoft.com/zh-cn/library/system.web.httppostedfile.inputstream.aspx
------解决方案--------------------------------------------------------
如果说WS上传的就是损坏的
可能是因为WS 传输的时候,数据流被截断了
没有完全传过去