4

我有一个 ASP 文件上传,PostedFile.InputStream它给了我们System.IO.Stream. 这个文件流是否类似于获取

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

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

4

2 回答 2

3

通常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);

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

于 2013-08-07T07:55:27.887 回答
0

这个与 rackspace cloud 一起工作,它可以从客户端上传文件到 rackspace 云文件。我还使用了文件上传器。

protected void Button1_Click(object sender, EventArgs e)
        {
            var cloudIdentity = new CloudIdentity() { Username = "Rackspace_user_name", APIKey = "Rackspace_api" };
            var cloudFilesProvider = new CloudFilesProvider(cloudIdentity);


            byte[] buffer = new byte[FileUpload1.FileBytes.Length];
            FileUpload1.FileContent.Seek(0, SeekOrigin.Begin);
            FileUpload1.FileContent.Read(buffer, 0, Convert.ToInt32(FileUpload1.FileContent.Length));
            Stream stream2 = new MemoryStream(buffer);
            try
            {
                using (FileUpload1.PostedFile.InputStream)
                {
                    cloudFilesProvider.CreateObject("Containers_name", stream2, FileUpload1.FileName); //blockBlob.UploadFromStream(fileASP.PostedFile.InputStream);
                }
            }

            catch (Exception ex)
            {



    Label1.Text = ex.ToString();

            }
        }
于 2014-01-30T22:48:23.970 回答