Ich bin neu mit Streams arbeiten und Probleme beim Hochladen einer Textdatei von einer Webanwendung auf AWS. Insbesondere wirft eine Umwandlung von HttpPostedFileBase.InputStream nach (Stream) keinen Fehler, aber der resultierende Stream enthält keine Daten, obwohl er eine Nullprüfung besteht, sodass der Upload "funktioniert", aber immer zu einem leeren Textdokument führt. Ich konnte diese Frage bei einer Suche nach SO nicht finden, der Code wurde aus den AWS SDK-Beispielen dupliziert, und der Eingabestream wurde in einen MemoryStream kopiert, wobei die Startposition auf Null gesetzt wurde, also bin ich hier am Ende . Weiß jemand, warum das nicht funktioniert und wie man es repariert? Danke im Voraus!HttpPostedFileBase.InputStream Cast to Stream im Hintergrund schlägt fehl
using (var client = new AmazonS3Client(Amazon.RegionEndpoint.USWest1))
{
Stream saveableStream = new MemoryStream();
using (Stream source = (Stream)UploadedHttpFileBase.InputStream)
{
source.Position = 0;
source.CopyTo(saveableStream);//Results in no data!
}
saveableStream.Position = 0;
//Save File to Bucket
try
{
PutObjectRequest request = new PutObjectRequest
{
BucketName = bucketLocation,
Key = UploadedHttpFileBase.FileName,
InputStream = saveableStream
};
PutObjectResponse response = client.PutObject(request);
}
catch (Exception e)
{
e.Message.ToString();
}
}