无法在使用cloudFilesProvider.CreateObjectFromFile创建对象时添加元数据。这是由cloudFilesProvider.CreateObjectFromFile支持吗?我目前在做:OpenStack .NET API,元数据在传入时无法添加cloudFilesProvider.CreateObjectFromFile
DicMetaData.Add("StoreID", inStrContainerID);
DicMetaData.Add("FileType", instrFileType);
DicMetaData.Add("DateCreated", dTDateCreated.ToString("MM/dd/yyyy hh:mm:ss.FFF"));
DicMetaData.Add("isProcessed", "0");
DicMetaData.Add("DateProcessed", DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss.FFF"));
cloudFilesProvider.CreateObjectFromFile(inStrContainerID, inStrSrcFilePath, strDesFileName, 4096, DicMetaData);
所以同时呼吁cloudFilesProvider.CreateObjectFromFile我在所有的加强,他们的方式来
RestService.Stream(absoluteUri, method, stream, chunkSize, maxReadLength, headers, queryStringParameter, requestSettings, progressUpdated);
在ProviderBase.cs的StreamRESTRequest方法
这里头数为6 5项我添加了+ X-Auth-Token,在RestService.Stream之前添加]
所以我知道所有的项目都传递给resquest,但是在创建对象之后,如果我做了一个get cloudFilesProvider.GetObjectMetaData,那么我得到一个词典回到计数0。
然后我做了
cloudFilesProvider.CreateObjectFromFile(inStrContainerID, inStrSrcFilePath, strDesFileName);
cloudFilesProvider.UpdateObjectMetadata(inStrContainerID, strDesFileName, DicMetaData);
在这里,如果我做一个让cloudFilesProvider.GetObjectMetaData我得到的加元回到了字典。
那么这怎么能做得更好呢?
部首密钥由HTTP 1.1规范需要被视为不区分大小写的。你永远不应该依赖于特定的键,你的比较应该总是使用'StringComparison.OrdinalIgnoreCase'来完成。另请注意,此规则适用于在头中传递元数据的服务(例如对象存储服务),但不适用于在JSON请求/响应主体中传递它们的服务(例如服务器和图像元数据的计算服务)。 –