需求:如題,C#本地要調用Webservice介面,上傳本地的照片到伺服器中; 參考:客戶端: https://blog.csdn.net/tiegenZ/article/details/79927670 服務端: https://www.cnblogs.com/zzzili/archive/201 ...
需求:如題,C#本地要調用Webservice介面,上傳本地的照片到伺服器中;
參考:客戶端: https://blog.csdn.net/tiegenZ/article/details/79927670
服務端: https://www.cnblogs.com/zzzili/archive/2012/12/16/6662668.html
服務端接收的圖片是base64編碼的位元組流:
[WebMethod(Description = "上傳圖片")] public string getImageByte(Byte[] getByte) { string savaImageName = null; try { DateTime dt = DateTime.Now; string sFile = dt.ToShortDateString().ToString();//2005/11/5 String file = "/images/" + sFile;// /images/2005/11/5 if (Directory.Exists(Server.MapPath(file)) == false)//如果文件不存在 則創建 { Directory.CreateDirectory(Server.MapPath(file)); } savaImageName = file + "/" + dt.ToFileTime().ToString() + ".png";//127756416859912816 FileStream fs = new FileStream(Server.MapPath(savaImageName), FileMode.Create, FileAccess.Write); fs.Write(getByte, 0, getByte.Length); fs.Flush(); fs.Close(); } catch (Exception e) { } return savaImageName; }
客戶端直接添加服務引用,調用相關方法:
string strFilePath = @"C:\Users\Administrator\Desktop\2.jpg"; FileInfo fi = new FileInfo(strFilePath); if (File.Exists(strFilePath)) { byte[] b = new byte[fi.Length]; System.IO.FileStream fs = fi.OpenRead(); fs.Read(b, 0, Convert.ToInt32(fi.Length)); WebReference.AppWebService ss = new WebReference.AppWebService(); string sr= ss.getImageByte(b); }