WebClient 上傳文件 上傳文件到服務器端


一直對於上傳文件到服務器端困惑;以前,現在,學到了關於WebClient的post知識

瞬間對於上傳文件到服務器覺得好輕松;

 

原理很簡單;我們通過post服務器的頁面;把本地的文件直接傳遞過去;

 

現在,我有兩個項目A(服務器端),B;

我現在要把B的文件傳遞到A中;我在B用使用代碼:

    WebClient webclient = new WebClient();

    byte[] responseArray = webclient.UploadFile("http://localhost/ImageHandler.aspx ", "POST", @"" + fileName + "");

    string getPath = Encoding.GetEncoding("UTF-8").GetString(responseArray);

 

  這三段代碼的意思很簡單;主要是使用WebClient 的 post請求上傳文件;

  webclient.UploadFile('post訪問的路徑', "POST",'文件的路徑');

 

只要我們再A項目配置好ImageHandler.aspx;就能實現文件在服務器端處理;

A中ImageHandler.aspx代碼

    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {

            foreach (string f in Request.Files.AllKeys)
            {
                string pathT = HttpRuntime.AppDomainAppPath.ToString() + "/images/";
                string pathD = DateTime.Now.ToString("yyyyMMdd") + "/" + DateTime.Now.ToString("HHmm") + "/";
                string sPath = pathT + pathD;
                if (!Directory.Exists(sPath))
                {
                    Directory.CreateDirectory(sPath);
                }
                HttpPostedFile file = Request.Files[f];
                Random seed = new Random();
                int randomNum =seed.Next(10,99);
                string fileName = DateTime.Now.ToString("HHmmss") + randomNum.ToString() + ".jpg";
                file.SaveAs(sPath + fileName);
   
                Response.Write("http://..../images/" + pathD + fileName);
            }
        }
        catch (Exception ex)
        {
            Response.Write("error");
        }
        Response.End();
    }

 上面代碼很簡明,我們已經把file傳遞到服務器;只需要根據路徑,把文件保存即可;

   


免責聲明!

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



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