2

我从这里获得了使用 ASP.Net 在 Windows Azure 上上传 blob 文件的代码:

// Retrieve storage account from connection string.
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
    CloudConfigurationManager.GetSetting("StorageConnectionString"));

// Create the blob client.
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();

// Retrieve reference to a previously created container.
CloudBlobContainer container = blobClient.GetContainerReference("mycontainer");

// Retrieve reference to a blob named "myblob".
CloudBlockBlob blockBlob = container.GetBlockBlobReference("myblob");

// Create or overwrite the "myblob" blob with contents from a local file.
using (var fileStream = System.IO.File.OpenRead(@"path\myfile"))
{
    blockBlob.UploadFromStream(fileStream);
}

这段代码工作正常,但我需要的是在 ASP.Net 中使用 FileUpload 控件上传文件。我需要更改路径,并将其替换为 FileUpload 上文件的路径。但我在研究中发现 FileUpload 不会返回文件的完整路径。无论如何,文件的上传是由 FileUpload 完成的吗?我不知道如何使用 FileUpload 上传它。谁能帮我?

4

3 回答 3

4

解决了我的问题:

我替换了代码

using (var fileStream = System.IO.File.OpenRead(@"path\myfile"))
{
    blockBlob.UploadFromStream(fileStream);
}

using (fileASP.PostedFile.InputStream)
{
blockBlob.UploadFromStream(fileASP.PostedFile.InputStream);
}

fileASPFileUpload控件的 ID。它现在工作正常。

于 2013-09-11T11:37:43.623 回答
0

尝试这个:

if (FileUpload1.HasFile)
{
    blockBlob.Properties.ContentType = FileUpload1.PostedFile.ContentType;
    blockBlob.UploadFromStream(FileUpload1.FileContent);
}
于 2013-09-11T11:11:51.777 回答
0

您的解决方案中缺少一些细节。内容类型浮现在脑海中。这个问题有一个可靠的解决方案

于 2013-09-11T13:33:21.660 回答