簡體   English   中英

將C#httpwebrequest轉換為vb.net

[英]convert C# httpwebrequest to vb.net

我有此C#代碼可從url下載xlsx文檔

var request = (HttpWebRequest)WebRequest.Create("url to xlsx file");
            request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
            request.Headers[HttpRequestHeader.AcceptEncoding] = "gzip,deflate";
            using (var response = request.GetResponse())
            using (var stream = response.GetResponseStream())
            using (var output = File.Create("H:\\doc.xlsx"))
            {
                stream.CopyTo(output);
            }

我的目標編程語言是VB.net,所以我將C#更改為vb,如下所示

Dim request As HttpWebRequest = WebRequest.Create("url to xlsx file")
        request.AutomaticDecompression = DecompressionMethods.GZip Or DecompressionMethods.Deflate
        request.Headers(HttpRequestHeader.AcceptEncoding) = "gzip,deflate"
        Dim response As WebResponse = request.GetResponse()
        Dim stream As Stream = response.GetResponseStream()
        Dim output As FileStream = File.Create("H:\doc.xlsx")

        stream.CopyTo(output)

VB下載的xlsx文件已損壞且無法讀取,但C#可以正常工作是什么錯誤?

嘗試包括using語句:可能沒有將全部內容刷新到輸出,因此您收到了損壞的消息。

Using response = request.GetResponse()
    Using stream = response.GetResponseStream()
        Using output = File.Create("H:\doc.xlsx")
            stream.CopyTo(output)
        End Using
    End Using
End Using

using塊將確保處置對象,無論以損壞的文件結尾的問題,您都應執行此操作,並且還將在底層基礎上調用Close()方法以流傳輸以及先前寫入緩沖區的任何數據將在關閉文件流之前復制到文件中,

暫無
暫無

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

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