ストリームを使用していて、WebアプリケーションからAWSにテキストファイルをアップロードするのが難しいです。具体的には、HttpPostedFileBase.InputStreamの(Stream)へのキャストはエラーをスローしませんが、結果のStreamにはヌルチェックを渡してもデータは含まれないため、アップロードは「機能する」が常に空白のテキストドキュメントになります。私はこの質問をSAの検索で見つけることができませんでした。コードはAWS SDKのサンプルから複製され、入力ストリームは開始位置が0に設定されたMemoryStreamにコピーされていました。 。なぜ誰もこれが動作していないとそれを修正する方法を知っていますか?前もって感謝します!HttpPostedFileBase.InputStreamストリームにサイレントキャストできません
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();
}
}