Wie kann ich die bytes einer GetObjectResponse vom S3?
Bin ich abrufen einer Datei von Amazon S3. Ich möchte zum konvertieren der Datei in bytes, so dass ich es runterladen kann wie folgt:
var download = new FileContentResult(bytes, "application/pdf");
download.FileDownloadName = filename;
return download;
Ich habe die Datei hier:
var client = Amazon.AWSClientFactory.CreateAmazonS3Client(
accessKey,
secretKey,
config
);
GetObjectRequest request = new GetObjectRequest();
GetObjectResponse response = client.GetObject(request);
Weiß ich um Antwort.WriteResponseStreamToFile (), aber ich möchte die Datei herunterladen zu den regulären Download-Ordner. Wenn ich konvertieren Sie die GetObjectResponse bytes, ich kann die Rückkehr der Datei. Wie kann ich dies tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist die Lösung, die ich gefunden für alle anderen, die es braucht:
Nur noch eine Möglichkeit:
Ich kämpfte, um die cleaner-Methode angeboten von Alex zu arbeiten (nicht sicher, was ich vermisst), aber ich wollte es tun w/o extra ReadStream Methode angeboten von Erica (obwohl es funktionierte)... hier ist, was ich aufgewickelt tun:
Stream
jetzt mit asynchronen Methoden. In C# 8 können Sie dies tun:Diese nicht blockieren alle threads, während die IO-Auftritt.