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でエンコードされたファイル名では正常に機能しますが、他のファイル名では失敗しました。
ヘッダーでは、次のようになります。
Content-Disposition:form-data; name="ファイル名"; filename * = utf-8'' Foo%E8%A4%87.jpg
誰かがこれを手伝ってくれますか?
私はここで2日間立ち往生しています。
前もって感謝します!