我希望有人可以帮助我,我是C的新手,我正在制作基于输入从服务器发送文件的Web API。当我输入ID时,我得到与该ID相关的所有文件(Indesign文件,jpegs,pngs,插图文件...) 我使用Postman获取resulat,它看起来像附件enter image description here:
我必须复制每个链接并将其粘贴到地址栏以下载文件。
我想要的是只有一个包含所有文件的文件(Zip)。 这甚至可行吗?感谢
答案 0 :(得分:0)
我找到了解决方案并且它返回了一个包含正确文件的zip文件,现在问题是这些文件大小为0Kb,请帮忙吗? 这是我的代码 `` MemoryStream archiveStream = new MemoryStream();
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;
}