You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用System.IO.File.WriteAllText保存文件导致Zip归档损坏的问题求助

System.IO.File.WriteAllText保存文件导致Zip归档损坏的问题求助

我最近在做一个从网站自动批量下载文件的小工具,目前已经能成功列出目标文件并发起下载请求,但遇到了个头疼的问题——下载后保存的Zip文件总是损坏,虽然文件大小看起来和原文件完全一致,但就是无法正常解压。

先给大家看看我定义的相关类:

用来存储下载结果的DownloadedData类:

Public Class DownloadedData
    Public Property Data As Byte()
    Public Property Url As Uri
End Class

还有负责下载逻辑的HelperWebClient类,核心的异步下载方法片段如下:

Public Class HelperWebClient

    Public Async Function DownloadDataAsync(ByVal nomeficheiro As String, ByVal bolachas As String, urls As List(Of String)) As Task(Of List(Of DownloadedData))

        Dim allTasks As List(Of Task) = New List(Of Task)
        Dim downloadedDataList As List(Of DownloadedData) = New List(Of DownloadedData)

        For i As Integer = 0 To urls.Count - 1
            'set value
            Dim url As Uri = New Uri(urls(i))
            Dim url2 As String = urls(i)
            Debug.WriteLine(String.Format("[{0}]: Adding {1}", i, url))

            '... 后续的下载任务逻辑代码省略

我怀疑问题可能出在文件保存的步骤上,比如是不是误用了System.IO.File.WriteAllText来保存二进制的Zip数据?毕竟文本写入方式会处理编码,很可能破坏二进制文件的原始结构。有没有有经验的朋友能帮我排查下问题,或者给点修复的方向呀?

备注:内容来源于stack exchange,提问作者Tiago

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 06:55:27