Ich habe eine Web-Services, die eine Liste von Dateien zurückgibt. Etwas wie folgt aus:Zip-Datei aus der Liste erstellen <Byte[]> im Speicher
public FileModel(){
string FileName {get;set;}
byte[] FileStream {get;set;}
string FileType {get;set;}
}
Mein Service zurückkehren würde:
List<FileModel> files;
Ich habe diese Liste Browser zurückzukehren, so brauche ich diese Dateien in einem Zip-Ordner zu komprimieren.
Allerdings kann ich nicht herausfinden, wie dies zu tun, als .NET ZipArchive CreateFromDirectory erfordert, dass ich ein Verzeichnis, in dem die zu komprimierende Datei sind. Aber ich habe kein Verzeichnis, ich habe nur diese Liste. Wie kann ich diese Liste in einen gezippten Ordner umwandeln?
Was meinst du mit * Zip-Methode erstellen *? Alle Konstruktoren der Klasse [ZipArchive] (https://msdn.microsoft.com/en-us/library/system.io.compression.ziparchive (v = vs.110) .aspx) akzeptieren 'Stream'. –
'Ich muss diese Liste an den Browser zurückgeben,' Nein, Sie können Dateiname, Dateityp und Dateigröße an den Browser zurückgeben. Wenn der Benutzer tatsächlich eine bestimmte Datei anfordert, können Sie ihn komprimieren .... – Eser
@Eser, Nein, ich muss tatsächlich einen gezippten Ordner der Dateien an den Browser/Benutzer zurückgeben. – Mark