一直對於上傳文件到服務器端困惑;之前,如今,學到了關於WebClient的post知識web
瞬間對於上傳文件到服務器以爲好輕鬆;服務器
原理很簡單;咱們經過post服務器的頁面;把本地的文件直接傳遞過去;dom
如今,我有兩個項目A(服務器端),B;post
我如今要把B的文件傳遞到A中;我在B用使用代碼:blog
WebClient webclient = new WebClient();get
byte[] responseArray = webclient.UploadFile("http://localhost/ImageHandler.aspx ", "POST", @"" + fileName + "");string
string getPath = Encoding.GetEncoding("UTF-8").GetString(responseArray);it
這三段代碼的意思很簡單;主要是使用WebClient 的 post請求上傳文件;io
webclient.UploadFile('post訪問的路徑', "POST",'文件的路徑');class
只要咱們再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傳遞到服務器;只須要根據路徑,把文件保存便可;