【问题标题】:Given Paths Format is Not Supported (Visual Studio / Azure)?不支持给定路径格式(Visual Studio / Azure)?
【发布时间】:2018-09-06 08:00:40
【问题描述】:

当我单击下载链接时,它会将我发送到尝试调试它的错误页面,它告诉我不支持我给定的路径格式

在我的控制器类中:

        public async Task<ActionResult> DownloadBlob(string file, string extension)
    {
        string downloadPath = await repo.DownloadBlobAsync(file, extension);
        return Json(downloadPath);
    }

在我的 Blob 存储类中:

        public async Task<string> DownloadBlobAsync (string file, string fileExtension)
    {
        _cloudBlobContainerx = _cloudBlobClientx.GetContainerReference(containerNamex);
        CloudBlockBlob blockBlob = _cloudBlobContainerx.GetBlockBlobReference(file + "." + fileExtension);

        var path = downloadPath + file + "." + fileExtension;
        using (var fileStream = System.IO.File.OpenWrite(path))
        {
            fileStream.Position = 1;
            //fileStream.Seek(0, SeekOrigin.Begin);

            await blockBlob.DownloadToStreamAsync(fileStream);

            return path;
        }
    }

说明:在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.NotSupportedException:不支持给定路径的格式

错误来源:

using (var fileStream = System.IO.File.OpenWrite(path))

【问题讨论】:

  • 请张贴整个错误信息。另外,请告诉我们您调试它时发生了什么?传递了什么值?
  • @NightOwl888 我试过调试,但一直说不支持路径格式

标签: c# visual-studio azure path azure-storage


【解决方案1】:

根据您的描述,我建议您可以设置一个断点来检查downloadPath或'path'字段的值。

我创建了一个简单的演示来将 blob 文件下载到本地文件夹路径。它工作正常。可以参考一下。

string containerNamex = "container002";
string file = "MyTest"; //a blob file named MyTest.txt
string fileExtension = "txt";
string downloadPath = @"D:\MyBlob\";
CloudBlobClient  _cloudBlobClientx = storageAccount.CreateCloudBlobClient();
_cloudBlobContainerx = _cloudBlobClientx.GetContainerReference(containerNamex);
CloudBlockBlob blockBlob = _cloudBlobContainerx.GetBlockBlobReference(file + "." + fileExtension);
var path = downloadPath + file + "." + fileExtension;
using (var fileStream = System.IO.File.OpenWrite(path))
     {
          fileStream.Position = 1;
          blockBlob.DownloadToStreamAsync(fileStream);
          Console.WriteLine("success");
      }

结果如下:

【讨论】:

猜你喜欢
  • 2014-07-07
  • 2011-11-13
  • 2012-04-21
  • 1970-01-01
  • 2017-09-14
  • 2014-12-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多