簡體   English   中英

在自托管Web服務器環境中通過POST REST API上傳C#文件

[英]C# File Upload via POST REST API in a Self-Hosted Web Server Environment

我有一個已創建的Web服務,該服務使用“ System.Web.Http.SelfHost”中的“ HttpSelfHostConfiguration”進行自我托管。 我需要創建一個REST API,允許其他人進行POST調用以將文件上傳到我的服務。

到目前為止,我所做的所有研究都是針對托管Web服務的,例如IIS。 因此,允許他們執行的操作是使用“ HttpContext.Current”獲取HttpRequest內容。

但是,在自托管環境中,“ HttpContext.Current”為null,因此我需要走一條替代路線。 我的Google-fu可能已關閉,但我似乎找不到任何有關如何在自托管環境中完成此操作的信息。

在這種情況下,是否有人對如何完成創建REST API(允許人們發布文件)有任何示例或建議?

提前致謝!

在您的post方法中使用如下所示的HttpRequestMessage

 public HttpResponseMessage Post(HttpRequestMessage request) {...} 

然后,您可以使用如下所示的方法來提取請求消息的上下文

字符串sRequestcXMLContent = Encoding.UTF8.GetString(request.Content.ReadAsByteArrayAsync()。Result);

希望這個能對您有所幫助!

這篇文章幫助我分配,但我認為我會發布我的解決方案來幫助人們。

    public async void Post(HttpRequestMessage Message)
    {
        MultipartMemoryStreamProvider x = await Message.Content.ReadAsMultipartAsync();
        Byte[] xx = await x.Contents[0].ReadAsByteArrayAsync();
        File.WriteAllBytes("c:\\test.png", xx);
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM