我正在使用 Box.net 开发一个 Windows 商店应用程序。
我正在尝试使用 winRT 中的 backgrounduploader 上传文件,
代码片段:
public async Task<UploadOperation> CreateUploadOperationV2(StorageFile file, string name, string destFolderId)
{
BackgroundUploader uploader = new BackgroundUploader();
uploader.Method = "POST";
uploader.SetRequestHeader("Authorization", "BoxAuth " + "api_key=" + mykey + "&auth_token=" + mytoken);
var uploadUrl = "https://www.box.net/api/2.0/"+ "files/content";
List<BackgroundTransferContentPart> parts = new List<BackgroundTransferContentPart>();
var part = new BackgroundTransferContentPart("filename", name);
part.SetFile(file);
parts.Add(part);
part = new BackgroundTransferContentPart("folder_id");
part.SetText(destFolderId);
parts.Add(part);
var uploadOperation = await uploader.CreateUploadAsync(new Uri(uploadUrl), parts);
return uploadOperation;
}
它适用于 ascii 编码的文件名,但不适用于其他文件名。
在标题中,它看起来像这样:
内容处置:表单数据;名称="文件名"; 文件名*=utf-8''Foo%E8%A4%87.jpg
有人可以帮我弄这个吗?
我被困在这里2天。
提前致谢!