スタックオーバーフローのため Android上のURIの概念は素晴らしいですし、デバイスやインターネット上のさまざまなものをどのように指しているかを抽象化していますが、それらと一緒に働く。私はあなたのためにいくつかの質問があります。Android上にretrofit/okhttpスタックを使用してリモートURIをアップロードする
1)一般に、自分のサーバーにアップロードするためにリモートURIをどのように消費するのですか? 私が考えることができる最高ののは、リモートURIをディスクにダウンロードし、ファイルへのポインタをokhttpに与えることです。 これを実行する最善の方法ですか?
2)次に、ローカルURIに関してより基本的な質問があります。 URIは異なるものを指し示すことができ、ファイルへの絶対パスはさまざまなプロバイダのさまざまな場所に格納されます。 #の#getPathを参照してください。
okhttpは絶対ファイルのみで動作するので、このロジックはokhttpを介してファイルを送信するための最良の方法です。
または何か良いことをお勧めしますか?
簡単にするために、私たちはKitkat以上について開発しているとします。
ファイルは、具体的かつ信頼性の高いものです。しかし、問題は、URIが一貫して絶対ファイルパスを公開していないことです。絶対ファイルパスを見つけようとするのは、URIが最初に開発されたのとまったく逆の考え方です。 GoogleドライブアプリのコンテンツURIにFileUtils.getPathを使用した場合、nullが返されます。私はパスが何であるかを知っていると言うことができます...明日、他のアプリケーションがファイルパスの別の場所に来る場合..私たちはパスを取得するために新しいコードを追加し続ける必要がありますか?方法について: –
http://stackoverflow.com/questions/25367888/upload-binary-file-with-okhttp-from-resources –
私の編集をご覧ください。私の答えはあまりよく説明されていませんでした。 – Budius