2012-04-13 3 views
1

내 프로젝트에서 monolithic 스타일 첨부 파일 테이블을 사용하여 cakephp 미디어 플러그인을 사용하고 있습니다. 즉, 모든 첨부 파일은 foreign_key, model, group 등이 저장된 하나의 테이블에 있습니다. 파일 세부 사항. 따라서 내 모델은 다음과 같습니다.CakePHP (2.1) Media Plugin - 다중 파일 업로드

class ProjectProfile extends AppModel { 

var $name = 'ProjectProfile'; 
var $useDbConfig = 'default'; 
var $useTable = 'project_profiles'; 
var $actsAs = array('Media.Transfer', 'Media.Generator'); 

public $belongsTo = array(
    'Project' => array(
     'className' => 'Project', 
     'foreignKey' => 'pjID' 
    ) 
); 

var $hasMany = array(
     'Photo' => array(
      'className' => 'Media.Attachment', 
      'order' => 'Photo.basename, Photo.id', 
      'foreignKey' => 'foreign_key', 
      'conditions' => array('Photo.model' => 'ProjectProfile', 'Photo.group' => 'Photo'), 
      'dependent' => true) 
); 

내 레코드를 저장할 때 컨트롤러의 saveAll이 첨부 파일을 저장합니다.

모두가 잘 작동하지만 이것은 정말 플러그인 형태로이 일을하여 지원을 수행하는, 한 번에 여러 파일을 업로드 할 수 있도록하고 싶습니다 :

echo $this->Form->hidden('Photo.0.model', array('value' => 'Photo')); 
echo $this->Form->input('Photo.0.file', array('type' => 'file'); 
echo $this->Form->hidden('Photo.1.model', array('value' => 'Photo')); 
echo $this->Form->input('Photo.1.file', array('type' => 'file'); 
echo $this->Form->hidden('Photo.2.model', array('value' => 'Photo')); 
echo $this->Form->input('Photo.2.file', array('type' => 'file'); 

하지만 난 당신이 거라고 생각 각각의 개별 파일을 찾아보기가 번거롭다는 것에 동의하십시오. 이 허용

echo $this->Form->input('files.', array('type' => 'file', 'multiple')); 

당신이 다음에 파일을 저장 여러 파일을 선택하려면 파일 브라우저에서 클릭 이동하기 : http://bakery.cakephp.org/articles/veganista/2012/01/31/html_5_multiple_file_upload_with_cake - 나는 여러 파일 업로드를 할 수 있도록하기 위해 볼 수있는 simplist 방법은 HTML5 여러 파일 섹션 옵션을 사용하는 것이 었습니다 저장할 배열 ... 그러나이 필드 형식은 미디어 플러그인에서 처리하지 않습니다. 또한 볼 수있는 한 모델, 그룹 등의 필드를 저장하는 방법은 없습니다.

그렇다면 모노리딕 모델을 사용하여 미디어 플러그인으로 멀티 파일 업로드를 처리하는 방법을 알고있는 사람이 있습니까? 나는 모든 제안에 열려 있습니다.

미리 감사드립니다.

답변

0

이 CakePHP 2.x 플러그인 - AjaxMultiUpload이 (가) 작동합니까? 그게 네가 필요로하는 것과 정확히 같아.