【发布时间】:2019-05-01 00:50:07
【问题描述】:
我有一个项目需要从 URL 链接压缩 pdf 文件,然后下载并由最终用户浏览器单击。到目前为止,我能够压缩一个 pdf 文件,这几乎不是我想要的。
我不知道如何从这里开始。下面是代码。任何帮助将不胜感激。
ASP.NET 核心
[HttpGet("zipFiles")]
public IActionResult ZipPDFFiles()
{
var fileNames = _repo.GetFileNames();
foreach (var filesName in fileNames)
{
var urlLink = "https://example.com/folder/" + $"{filesName.PdfFileName}";
var net = new System.Net.WebClient();
var data = net.DownloadData(urlLink);
var file = $"{filesName.PdfFileName}";
var contentType = "application/zip";
string zippedFolderName = "Archive.zip";
using (MemoryStream ms = new MemoryStream())
{
using (var archive = new ZipArchive(ms, ZipArchiveMode.Create, true))
{
var zipArchiveEntry = archive.CreateEntry($"{file}", System.IO.Compression.CompressionLevel.Fastest);
using (var zipStream = zipArchiveEntry.Open()) zipStream.Write(data, 0, data.Length);
}
return File(ms.ToArray(), contentType, $"{zippedFolderName}");
}
}
return NotFound();
}
【问题讨论】:
标签: c# pdf asp.net-core zip memorystream