Valence APIでのニュースの添付ファイルのアップロードに問題があります。PHP を使用していますが、投稿リクエストを送信しようとすると、アクションが完了しません。コマンドラインで実行しているため、プログラムを終了するにはプロセスを強制終了する必要があります。
ファイルのデータと詳細 (名前、タイプ、サイズ) はデータベースに保存されており、 1 回の呼び出しで JSON 形式のニュースと添付ファイルなどすべてを投稿しています。投稿メッセージに次の形式を使用しています (API ドキュメントに記載されています)。
コンテンツ タイプ: マルチパート/混合。境界 = e9e1c17c958e2a89a192bf5d3f7d1ffd コンテンツの長さ: 46538
--e9e1c17c958e2a89a192bf5d3f7d1ffd コンテンツ タイプ: アプリケーション/json
{"Title":"Some News","Body":{"Text":"これは</span>とても</span>カラフルなタイトルです</span>","Html":"これ</span>とても</span>カラフルなタイトルです</span>"},"StartDate":"2013-11-06T05:00:00.000Z","EndDate":"2013-11-30T05:00:00.000Z", "IsGlobal":false,"IsPublished":true,"ShowOnlyInCourseOfferings":false}
--e9e1c17c958e2a89a192bf5d3f7d1ffd Content-Disposition: フォームデータ。name="FC.png"; ファイル名="FC.png"
コンテンツ タイプ: 画像/png
{} --e9e1c17c958e2a89a192bf5d3f7d1ffd--
エンコーディングが原因で、ファイルの内容が表示されません。このメッセージの content-lengthは、JSON データの文字列の長さ + ファイルサイズ (バイト)として計算しています。
私の非常に具体的な質問は、データベースからファイルを直接投稿できるか、最初にファイルをディスクに書き込んでから投稿することをお勧めするかということです。また、PHP を使用した既存のサンプル コードがあるオンラインの例を教えていただければ幸いです。
もう一つ。content-length に file-size をバイト単位で含めない場合、添付ファイルを除いて正常に動作します。サイズは 29 バイトで、クリックするとデータ破損エラーで開きます。
あらゆる種類の助けをいただければ幸いです。ありがとう。