繁体   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