У меня есть файл JSON, и я собираюсь его zip с помощью DotNetZip. С помощью StreamWriter для zip он работает, если я пытаюсь использовать MemoryStream, он не будет работать.Использование MemoryStream и DotNetZip для zip-файла json
StreamWriter:
sw = new StreamWriter(assetsFolder + @"manifest.json");
sw.Write(strManifest);
sw.Close();
zip.AddFile(Path.Combine(assetsFolder, "manifest.json"), "/");
zip.AddFile(Path.Combine(assetsFolder, "XXXXXXX"), "/");
zip.Save(outputStream);
MemoryStream:
var manifestStream = GenerateStreamFromString(strManifest);
public static Stream GenerateStreamFromString(string s)
{
MemoryStream stream = new MemoryStream();
StreamWriter writer = new StreamWriter(stream);
writer.Write(s);
writer.Flush();
stream.Position = 0;
return stream;
}
zip.AddEntry("manifest.json", manifestStream);
zip.AddFile(Path.Combine(assetsFolder, "XXXXXXX"), "/");
zip.Save(outputStream);
Я должен использовать тип файла .JSON застегнуть его, Может ли один сказал мне, где есть ошибка?
Это выглядит правильно. Вы уверены, что ваши пути установлены правильно? –
Если я правильно понял, вы хотели «gzip' ваш' JSON', я прав? –
@Leon Husmann Да, путь assetsFolder верен, '' zip.AddEntry' действительно создает область потока для сохранения этого json-файла? –