0

私はjsOauth-twitterを使用して、 update_with_media api methodを呼び出す画像を twitter にアップロードしています。実際の画像データが必要なようです。これは、通常の<img src="localfile">タグ内の私の Web ページに既にあります。

Javascript を使用して、実際の画像データ (JPEG) を取得して関数に渡すことはできますか? DOM で利用できますか? アプリケーション/オクテットストリームとしてTwitterに渡すことができるように生の画像データが必要なので、base64は私には適していません。

4

1 に答える 1

1

APIではフォームをmultipart/form-dataとして送信する必要があるようです。つまり、media[]パラメーターはバイナリまたはbase64でエンコードされたデータではなくファイルを予期していることを意味します。フォーム内でHTMLファイル入力を使用する場合、これはかなり簡単なはずです。

<img>タグを使用する必要がある場合、それは困難です。私が考えることができるのは、画像を<canvas>に描画し、でbase64でエンコードされたURIを取得し、それをデコードしてwindow.atob()toDataURI()を使用して生の画像データを取得し、multipart /form-dataPOST本文を手動で作成することだけです。この回答には、最初のいくつかのサンプルコードが含まれています。

APIは、OAuthライブラリが(リクエスト本文を手動で作成するのではなく)受け入れることができるファイルのようなオブジェクトを作成するのBlobに役立つ場合がありますが、まだ十分にサポートされていません。

于 2012-06-20T15:07:07.943 に答える