モデルにアップロードを添付するために使用するこのCakePHPプラグインを使用して、複数の写真をアップロードしたいと考えて います。複数の大きな画像を一度にアップロードすると発生する可能性がある問題を回避するために、ファイルを 1 つずつ送信する予定です。私がしなければならないこと (少なくともそう願っています) は、ローカル ファイル パスを含む JSON-Request を送信し、コールバックを待つことです。入力フィールド (html5 の muliple= multiple) を使用して JavaScript 経由でローカル ファイル名を取得するにはどうすればよいですか? 別の質問は、まだ考えていない問題があるかどうかです。データ送信は単なるテキストであり、アップロード自体はプラグインによって処理されるため、コールバックメカニズムがどのように機能するかはわかりません。
編集:これは、ajaxを使用せずに試したものです。これは、複数の小さなファイルで機能する場合もありますが、複数の大きな画像では機能しない場合があり、エラーを元に戻すこともできません。
public function add($album_id = null, $album_title = null) {
$this->set('album_id', $album_id);
$this->set('album_title', $album_title);
// debug($this->data);
if (!empty($this->request->data)) {
$data = $this->request->data;
$data['Picture']["album_id"]= $album_id;
foreach ($data['Picture']['files'] as $file){
$tmp_data = $data;
$tmp_data['Picture']['files']="";
$tmp_data['Picture']['file']=$file;
debug ($tmp_data);
$this->Picture->saveAll($tmp_data, array('deep' => true));
}
}
}