Ich versuche, einen Stream, den ich gerade abgerufen habe, erneut hochzuladen. Es sollte nicht wirklich wichtig sein, dass ich AWS verwende, glaube ich ... Vielleicht ist mein Verständnis von der Arbeit mit Streams einfach zu begrenzt? :-)Kopieren zwischen zwei AWS-Buckets - Stream von AWS zurückgegeben: HashStream unterstützt keine Suche
ich die folgende Methode gerade bin mit der AWS documentation zu Streams Download und Upload:
Datei-Upload:
public bool UploadFile(string keyName, Stream stream)
{
using (client = new AmazonS3Client(Amazon.RegionEndpoint.USEast1))
{
try
{
TransferUtility fileTransferUtility = new TransferUtility(new AmazonS3Client(Amazon.RegionEndpoint.USEast1));
fileTransferUtility.Upload(stream, bucketName, keyName);
return true;
}
catch (AmazonS3Exception amazonS3Exception)
{
[...]
}
}
}
gibt es die Datei:
public Stream GetFile(string keyName)
{
using (client = new AmazonS3Client(Amazon.RegionEndpoint.USEast2))
{
try
{
GetObjectRequest request = new GetObjectRequest
{
BucketName = bucketName,
Key = keyName
};
GetObjectResponse response = client.GetObject(request);
responseStream = response.ResponseStream;
return responseStream;
}
catch (AmazonS3Exception amazonS3Exception)
{
[...]
}
}
}
Jetzt versuche ich, die beiden Methoden zu kombinieren: Ich bekomme eine Strähne m und möchte es sofort wieder hochladen. Allerdings bekomme ich folgende Fehlermeldung: System.NotSupportedException : HashStream does not support seeking
Ich vermute es hat etwas zu tun, dass ich einen Stream bekomme, der jetzt irgendwie sofort bereit ist, wieder hochgeladen zu werden? Diese
ist, wie ich versuche, den Strom einer bestehenden Datei (.jpg) zu erhalten und sofort versuchen Sie es mit einem anderen Dateinamen zu laden:
newAWS.UploadFile(newFileName, oldAWS.GetFile(oldFile));
Wo newAWS und oldAWS Instanzen der AWS Klasse , und newFileName ist ein String :-) Dies ist die Zeile, die ich die Fehlermeldung oben eingefügt bekomme.
Bitte lassen Sie mich wissen, wenn ich etwas offensichtliches hier vermisse, warum ich einen abgerufenen Stream nicht erneut hochladen könnte. Oder könnte es sein, dass es sich auf etwas anderes bezieht, das mir nicht bewusst ist, und ich bin auf dem Holzweg, wenn ich versuche, den zurückgegebenen Stream zu beheben?
Was ich im Grunde versuche zu tun ist, eine Datei aus einem AWS-Bucket zu einem anderen mit Streams zu kopieren. Aber aus irgendeinem Grund bekomme ich die Fehlermeldung, dass ich versuche, den gerade heruntergeladenen Stream hochzuladen.
Vielen Dank für Ihre Zeit Graben durch meinen Code :-)