PHPでcURLを使用しています。サーバーがファイルのアップロードとして認識できるように、バッファの内容を投稿する必要があります。これは私が試したことです:
$post_data['Filename'] = "foo.wav";
$post_data['File'] = $filedata;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $myurl);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
これにより、バッファの内容がファイルのアップロードとしてではなく、通常のフォーム フィールドとして送信されます。ファイルをアップロードする例では、ファイルがまだメモリに読み込まれていないことを前提としており、ファイル パスの前に「@」を付けて設定する必要があります。もちろん、バッファーをディスクに書き込まずに、バッファーをファイルのようにアップロードするにはどうすればよいですか?