Rackspace Cloud文件,PutStorageItem方法被声明为采用本地文件路径,我可以使用变量吗?
API PutStorageItem(string ContainerName,string localFilePath);
我的方法声明为
UploadItem(string username, string apiKey, string ContainerName, byte[] Item)
{
UserCredentials userCredentials = new UserCredentials(new Uri("https://auth.api.rackspacecloud.com/v1.0"), username, apiKey, null, null);
Connection connection = new com.mosso.cloudfiles.Connection(userCredentials);
connection.PutStorageItem(ContainerName, Item); //<--- X here
}
如您所见,PutStorageItem采用本地字符串路径,但Item声明为byte []。 我可以使用变量而不是本地路径吗?
答案 0 :(得分:1)
如果Cloudfiles库没有为您提供其他上传功能,您有两个主要选项:
显然,这仅适用于上传文件而不是存储来自其他系统的通用数据的情况。
我过去做过2号,我需要设置某些标题,而库代码只允许添加“meta”标题。如果沿着这条路线走,可以找到主页here,.Net绑定位于github here上。
最后一个选项更像是黑客攻击。
byte[]
临时文件保存在磁盘上(假设您有权访问),然后将文件名传递给Cloudfiles库。显然,最后一个选项有些笨拙,并且随着时间的推移会出现磁盘空间和清理问题,尤其是在上传大量数据时。