C# 已向zip发送可下载的http请求

C# 已向zip发送可下载的http请求,c#,C#,我希望任何人都能帮助我,我是C语言新手,我正在制作基于输入从服务器发送文件的web API,当我输入ID时,我会得到与该ID相关的所有文件(Indesign文件、JPEG、PNG、illustator文件…) 我使用邮递员获取结果,它看起来像附件: 我必须复制每个链接并粘贴到地址栏下载文件 我想要的是只有一个包含所有文件的文件(Zip)。 这是否可行?谢谢我找到了解决方案,它返回了一个包含正确文件的zipfile,现在这些文件的大小为0Kb,请提供帮助? 这是我的密码 `` MemoryStre

我希望任何人都能帮助我,我是C语言新手,我正在制作基于输入从服务器发送文件的web API,当我输入ID时,我会得到与该ID相关的所有文件(Indesign文件、JPEG、PNG、illustator文件…) 我使用邮递员获取结果,它看起来像附件:

我必须复制每个链接并粘贴到地址栏下载文件

我想要的是只有一个包含所有文件的文件(Zip)。
这是否可行?谢谢

我找到了解决方案,它返回了一个包含正确文件的zipfile,现在这些文件的大小为0Kb,请提供帮助? 这是我的密码 `` MemoryStream archiveStream=新的MemoryStream()


是的,你能做到。有一个新的控制器动作,它将所有文件收集在一起,生成一个zip文件(你可以用谷歌搜索你需要的代码库),并发送zip文件供下载。如何指定应包含哪些文件由您根据自己的要求决定。祝你好运一旦你做了一些研究并真正尝试了,你可以问一个更好的问题——如果你有一个特定的编码问题需要我们解决,我们很乐意帮助你解决。C!=C#(还有!=C++)我用C#表示歉意谢谢@ADyson,我已经有了从服务器获取文件的控制器,我应该为zip创建新控制器还是将其包含到我的现有控制器中?
        using (ZipArchive archiveFile = new ZipArchive(archiveStream, ZipArchiveMode.Create, true))
        {
            foreach (var item in assetsNotDuplicated)
            {
                // create file streams
                // add the stream to zip file

                var entry = archiveFile.CreateEntry(item.Name);

                using (StreamWriter sw = new StreamWriter(entry.Open()))
                {
                    sw.Write(item.Url);
                }
            }
        }


        HttpResponseMessage responseMsg = new HttpResponseMessage(HttpStatusCode.OK);
        responseMsg.Content = new ByteArrayContent(archiveStream.ToArray());


        //archiveStream.Dispose();
        responseMsg.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = "allfiles.zip" };
            responseMsg.Content.Headers.ContentType = new MediaTypeHeaderValue("application/zip");

            return responseMsg;
    }