У меня есть веб-сервис MVC C #, и мне нужно преобразовать строку в zip-файл с определенным именем и вернуть его.
Я собрал этот код из различных сообщений StackOverFlow, но некоторые ключевые слова не распознаются(ZipFile, CreateEntryFromFile), в то время как другие делают (ZipArchive)
string xmlReply = "This is a test";
//Convert to bytes and encode to Base64
Byte[] bytes = File.ReadAllBytes(xmlReply);
//Write it back to string
xmlReply = Convert.ToBase64String(bytes);
//Write string to file
string filename = @"C:\Users\Public\tr_file";
System.IO.File.WriteAllText(filename, xmlReply);
string fileNameZip = @"C:\Users\Public\FileR.zip";
//Zip
using (ZipArchive zip = ZipFile.Open(fileNameZip, ZipArchiveMode.Create))
{
zip.CreateEntryFromFile(filename, Path.GetFileName(filename));
}
//Break zip into bytes and return it
byte[] fileBytes = System.IO.File.ReadAllBytes(fileNameZip);
return new FileContentResult(fileBytes, "application/zip");
Можете ли вы помочь указать на ошибки или предложить другой способ их достижения?
Спасибо
EDIT : для пропущенных ключевых слов я обнаружил, что мне нужно добавить ссылку на System.IO.Compression.FileSystem
Сможет ли FileContentResult
выполнить трюк и вернуть почтовый индекс?