2016-08-08 27 views
1
System.Web.UI.Request 

.NET核心提供這樣的一個問題是關於這個命名空間的替代品。System.Web.UI.Request不是.NET提供的核心,需要替代

我需要讀取服務器上傳的文件內容。在.net的4.5版本中,我的工作方式與HttpPostedFile file = Request.Files["content"];類似,但現在這不適用於.net內核。我需要知道在.net核心文件上傳的最佳示例是否有其他選擇,請分享。

以下是我的舊代碼。

HttpPostedFile file = Request.Files["content"]; 
byte[] fileData = null; 
        using (var binaryReader = new BinaryReader(file.InputStream)) 
        { 
         fileData = binaryReader.ReadBytes(file.ContentLength); 
        } 

        var fileName = Request.Form["fileName"]; 

        FileBusiness.SaveFile(domain, new Guid(token), fileName, fileData, true); 
        Response.Write("Normal file uploaded"); 

我要求在RC1是在心裏想着上傳文件功能在RC1可用,但我在.NET 1.0的核心庫RTM已經找到。我需要知道是否有任何方式上傳.net核心RC1中的文件?

+0

你使用什麼中間件?從文檔中可以看出:ASP.NET Core有許多體系結構上的改變,這些改變導致了一個更精簡和模塊化的框架。 ASP.NET Core不再基於System.Web.dll。它基於一組精細且充分考慮的NuGet包。這使您可以優化您的應用程序,只包含您需要的NuGet包。 https://docs.asp.net/en/latest/intro.html –

+2

[如何獲取ASP.NET核心中的HttpContext.Current?](http://stackoverflow.com/questions/38571032/how- to-get-httpcontext-current-in-asp-net-core) –

回答

1

如果您使用的是ASP.NET Core和enctype="multipart/form-data"表格,那麼讀取上傳的文件時使用IFormFilevar file = Request.Form.Files["fileUpload"])和its CopyTo, CopyToAsync or OpenReadStream methods

+0

謝謝你的建議,我試過http://www.mikesdotnetting.com/article/288/uploading-files-with-asp-net -core-1-0-mvc鏈接,併成功將該文件上傳到.net內核。但文章是在.net core 1.0版本上發佈的,我在我的項目中使用了RC1。要麼我需要升級我的整個項目,或者有什麼辦法可以在RC1中使用IForm類型的庫? –

+0

我不建議你混合使用RC1和RTM庫。升級到RTM是推薦的方式,因爲您使用的所有第三方庫都將移動到RTM的某處,導致您的項目獲取越來越多的核心RTM庫作爲它們的依賴關係。 – Dmitry

+0

謝謝你的建議。我會留在RC1或完全移動到RTM。我的觀點是,如果有任何方式在RC1上的服務器上上傳文件,那麼我可以使用它,否則我將不得不升級整個項目的RTM。還有一件事,在RC1中,我使用框架dnx451,但我認爲這個框架在RTM中沒有支持。我對嗎? –