c# - ASP FileUpload InputStream 和 System.IO.File.OpenRead

标签 c# file-upload rackspace

我有一个 ASP 文件上传,PostedFile.InputStream,它为我们提供了 System.IO.Stream。这个文件流是不是和获取的类似

System.IO.File.OpenRead("filename");

我有一个 Rackspace 文件内容保护程序,它以流的形式获取输入,但在使用 PostedFile.InputStream 时无法显示正确的图像。

最佳答案

通常 PostedFile.InputStreamSystem.IO.Stream 是一样的。 因此 Rackspace 不需要任何额外的编码。

您可以使用 file.InputStream 作为 Stream 参数来创建 Rackspace 云文件的对象。

另一种不需要但可以测试的方法是

byte[] buffer = new byte[file.InputStream.Length];
file.InputStream.Seek(0, SeekOrigin.Begin);
file.InputStream.Read(buffer, 0, Convert.ToInt32(file.InputStream.Length));
Stream stream2 = new MemoryStream(buffer);

您也可以使用此流作为创建对象的输入。

关于c# - ASP FileUpload InputStream 和 System.IO.File.OpenRead,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18081760/

相关文章:

c# - 在生产环境中使用代码优先降级(回滚)数据库

c# - ICollection to String 在 C# 中以良好的格式

amazon-web-services - 使用 POSTMAN 通过 Lambda+API 网关上传的 Zip 文件已损坏

jquery - HTML5 文件上传需要 "mouseover with file"事件

file-upload - 如何在 Dart 中上传文件?

mysql - 将数据库移动到远程服务器会减慢连接查询

c# - 将 JSON 解析为 C# 对象,其中 "0"作为 JSON 字符串中的对象名称

c# - 使用 AddOpenIdConnect 时,为什么要添加默认范围?

python - 如何使用 boto 将文件从 Amazon S3 流式传输到 Rackspace Cloudfiles?

docker - 如何在常规云服务器中自动缩放 docker 容器?