HttpPostedFile 和 HttpPostedFileBase 你真的了解嘛?


     當你看到的時候,你是不是已經愛上了它,如果你真的只看外表,那你就錯了,不要太相信自己的眼睛,往往真像並不是你所看到的那么簡單!請跟我一起來看看吧!

     這次在項目中,就遇到了這個問題,剛開始我還天真的以為他們真的有關系,沒有到都是假象的。

     遇到的問題:“把圖片上傳到資源服務器”的一個上傳問題,剛開始做的時候沒考慮到,代碼如下:

    

public bool UploadFTP(HttpPostedFileBase file, string strFileType, int iFileLength, int Width, int Height, string Path, ref string strInfo)
{
   ............. //     
}


     本以為這樣就已經是通用的了,當我直接傳HttpPostedFile 對象的時候報錯了。答案是 HttpPostedFile HttpPostedFileBase 不存在關系。

     所以我只好,到晚上去找,去查,終於找到了一個好的解決方案,其實它們還是可以通過一個橋梁 HttpPostedFileWrapper 類來轉化,HttpPostedFileWrapper : HttpPostedFileBaseHttpPostedFileWrapper 的代碼如下:

public class HttpPostedFileWrapper : HttpPostedFileBase
{
        // 摘要:
        //     初始化 System.Web.HttpPostedFileWrapper 類的新實例。
        //
        // 參數:
        //   httpPostedFile:
        //     通過此包裝類可訪問的對象。
        //
        // 異常:
        //   System.ArgumentNullException:
        //     httpApplicationState 為 null。
        public HttpPostedFileWrapper(HttpPostedFile httpPostedFile);
}

 

最后解決方案如下:

 public bool UploadFTP(HttpPostedFile file, string strFileType, int iFileLength, int Width, int Height, string Path, ref string strInfo)
{ HttpPostedFileBase hpfb
= new HttpPostedFileWrapper(file) as HttpPostedFileBase; return UploadFTP(hpfb, strFileType, iFileLength, Width, Height, Path, ref strInfo); }

 每天進步一點點,一年累積的進步,你去好好想想吧!

 您的支持是我最大的動力,如果你覺得還可以,請您給個”推薦“!


免責聲明!

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



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