WebService 客戶端上傳圖片,服務器端接收圖片並保存到本地


需求:如題,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);

                }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM