nuget包Microsoft.Azure.Storage.File 9.4.2将文件上传到<26MB的地方就好了,并且在上传文件> 26MB时会无限期地挂起。
项目的目标是.NET(桌面)框架4.7.2。
*****更新***** 当尝试使用各种客户端和各种云服务上载大型文件时出现此问题(我在上载到S3时遇到了相同的问题),但仅在NancyFx Web应用程序的上下文中。与部署到Azure应用服务时在本地发生相同的问题,因此几乎可以肯定与我的本地开发人员配置无关。
请注意,尝试在NancyFx应用程序内上上载时,上载会挂起;我没有将上传到 NancyFx应用程序。
目前,我的解决方案是不从Nancy内部上传文件,但如果有人对仍然存在的问题有技术解决方案感兴趣,我将保留此问题。
*****结束更新*****
请注意,文件上传
尝试的用法如下:
public void UploadFileFromFile(string azureFileName, string localFileName)
{
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(SafeConfig.AzureFileStorageMaterialConnectionString);
CloudFileClient client = storageAccount.CreateCloudFileClient();
CloudFileShare share = client.GetShareReference(SafeConfig.AzureFileStorageMaterialShareName);
CloudFileDirectory dir = share.GetRootDirectoryReference();
CloudFile fileReference = dir.GetFileReference(azureFileName);
fileReference.UploadFromFile(localFileName);
}
值得一提的是,当我使用fileReference.UploadFromByteArray()
方法时,客户端会挂起相同的消息,而当我尝试使用各种* Async替代方法时,也会挂起相同的消息。
当我尝试使用方法fileReference.UploadFromStream()
时,出现异常“ 对象未处于可用状态”,我认为这不是一条特别可行的异常消息。这是我首选的上传方法,但是不同的错误体验可能会使它成为一个单独的问题。
答案 0 :(得分:0)
我使用与您相同的软件包和相同的代码,一切都很好,可以上传超过26M的文件。您可以尝试重新启动Visual Studio再试一次吗?
我的代码:
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.File;
using System;
namespace MyConsole
{
class Program
{
static void Main(string[] args)
{
Program p = new Program();
string azureFileName = "1.zip";
string localFileName = @"D:\1.zip";
Console.WriteLine("start upload..");
p.UploadFileFromFile(azureFileName, localFileName);
Console.WriteLine("completed**");
Console.ReadLine();
}
public void UploadFileFromFile(string azureFileName, string localFileName)
{
CloudStorageAccount storageAccount = CloudStorageAccount.Parse("xxxx");
CloudFileClient client = storageAccount.CreateCloudFileClient();
CloudFileShare share = client.GetShareReference("testfolder");
CloudFileDirectory dir = share.GetRootDirectoryReference();
CloudFile fileReference = dir.GetFileReference(azureFileName);
Console.WriteLine("going to upload");
fileReference.UploadFromFile(localFileName);
}
}
}
可以上传文件: