私たちには、ユーザーが自分のDropboxアカウントにファイルをアップロードできるWebアプリケーションがあります。このWebアプリケーションは、Dropbox APIを使用してアップロード処理を容易にします。アップロード後、ユーザーがファイルタイプ.docxを表示しようとすると、「コンテンツに問題があるため、somefile.docxファイルを開くことができません」というメッセージが表示されます。
ここでは、使用しているコードの一部を示します。
最初に、ファイルをbyte []に変換してAPIメソッド呼び出しに渡します。
public static string DropboxUpload(byte[] DBbyte, string filename, string token, string tokensecret)
{
try
{
for (int i = 0; i < 4; i++)
{
var dropclient = new RestClient(FILEURL);
dropclient.ClearHandlers();
dropclient.AddHandler("*", new JsonDeserializer());
dropclient.BaseUrl = FILEURL;
dropclient.Authenticator = new OAuthAuthenticator(dropclient.BaseUrl, API_KEY, API_SECRET, token, tokensecret);
var request = new RestRequest(Method.POST);
request.Resource = VERSION + "/files/dropbox" + PATH;
request.AddParameter("file", filename);
request.AddFile(new FileParameter { Data = DBbyte, FileName = filename, ParameterName = "file" });
var response = dropclient.Execute(request);
if (response.StatusCode == HttpStatusCode.OK)
break;
else
Thread.Sleep(1000);
}
string dropboxLink = GetPublicLinks(filename, token, tokensecret);
dropboxLink = dropboxLink.Replace("\"", "");
return dropboxLink;
}
catch
{
return "";
}
}
APIからの応答は
{"勝者!"}
また、Dropboxに送られる前にbyte []が破損していないことを確認しました。
Then when a user tries to open the file either by downloading it from the website or just viewing the file directly from the Dropbox folder, they get this error message.

これは.xlsx(Excel 2007 - up)ファイルでも起こります。
Dropbox APIによってDropboxフォルダにアップロードされると、.docxおよび.xlsxファイルが破損していますか?どんな助けでも大歓迎です。