0

我正在尝试使用机架空间文件中的 openstack sdk 下载文件。如果文件已经存在,我想使用范围标头继续写入它离开的地方。根据他们的文档,这可以实现。openstack sdk 文档说我可以设置范围标头。这是我的代码:

Dictionary<string, string> headers = new Dictionary<string,string>();
        if (File.Exists(@"C:\path\to\file.zip"))
        {
            long iExistLen = 0;
            System.IO.FileInfo fINfo =
              new System.IO.FileInfo(@"C:\path\to\file.zip");
            iExistLen = fINfo.Length;

            headers.Add("Range", "bytes="+iExistLen+"-");
        }

        CloudIdentity cloudIdentity = new CloudIdentity()
        {
            APIKey = apikey,
            Username = username
        };

        CloudFilesProvider cloudFilesProvider = new CloudFilesProvider(cloudIdentity);
        cloudFilesProvider.GetObjectSaveToFile(containerName, @"C:\path\to\", fileName, "file.zip", 65536, headers);

当我运行它时,我收到以下错误:

The 'Range' header must be modified using the appropriate property or method.

任何帮助表示赞赏。

谢谢。

4

1 回答 1

0

一些常见的标头被认为是受限制的,它们要么直接由 API 公开(例如 Content-Type),要么受系统保护且无法更改。Range是其中一个标题。完整名单是:

Accept
Connection
Content-Length
Content-Type
Date
Expect
Host
If-Modified-Since
Range
Referer
Transfer-Encoding
User-Agent
Proxy-Connection
于 2014-11-18T18:25:18.323 回答