正在AWS SDK上上传.txt文件流

本文关键字:文件 txt SDK 正在 AWS | 更新日期: 2024-10-07 16:20:15

我对处理流还是个新手,我正在使用SDK API测试web应用程序上传到AmazonWeb Services。在此过程中会生成一个错误,表明FileStream为null。我尝试过使用Put而不是TransferUtility,并阅读了所有的AWS文档,但上传似乎只能从路径而不是从网络上传来解释。有人知道为什么FileStream为null而保存不起作用吗?提前感谢!

using (var client = new AmazonS3Client(Amazon.RegionEndpoint.USWest1))
{
    //Save File to Bucket
    using (FileStream txtFileStream = UploadedFile.InputStream as FileStream)
    {
        try
        {
            TransferUtility fileTransferUtility = new TransferUtility();
            fileTransferUtility.Upload(txtFileStream, bucketLocation, UploadedFile.FileName);
        }
        catch (Exception e)
        {
            e.Message.ToString();//txtFileStream is null!
        }
    }
}

正在AWS SDK上上传.txt文件流

当使用as进行强制转换时,它不会抛出异常,而是以静默方式失败,并返回null。当你使用as时,你说的是

有时这可能会失败,我已经做好了应对的准备。

通常你会做一个空检查:

FileStream txtFileStream = UploadedFile.InputStream as FileStream
if(txtFileStream != null)
{
    using(txtFileStream)
    {
        //.....
    }
}

如果您确定这应该是FileStream,则应该使用直接转换。如果直接转换失败,它将引发异常。这就像说

这应该一直是这种类型,如果不是,那就大错特错了,我不能继续了。

使用:

using(FileStream txtFileStream = (FileStream)UploadedFile.InputStream)
{
}

对于你的问题,你需要弄清楚你的演员阵容失败的原因。