감사합니다,
m^E : //www.milesj.me/resources/script/uploader-plugin).
모든 것이 제대로 작동하려면 약간의 시간을 들여야합니다. 필요한 모든 작업을 수행하기 위해 관련된 각 문서의 설명서를 읽으려고합니다. 그러나 이것이 내가 관리하는 방법입니다 그것 :
보기 : 필요한 자바 스크립트 libs : jQuery, SWFObject 및 Uploadify를 포함하십시오. 업로드 스크립트가 플래시 업 로더로 대체 될 <input>
요소를 삽입하십시오. 그런 다음 Uploadify 설정 (Uploadify 문서의 세부 정보)을 지정하는 jQuery 코드를 삽입하십시오. Uploadify가 게시 할 URL을 설정할 때 세션 ID를 인수 중 하나로 포함하십시오. 필자는 예제에서 첫 번째 인수로 전달했습니다 (Controller beforeFilter를 참조하여 수행 된 작업을 확인하십시오).
컨트롤러에서 : 업 로더 플러그인의 업 로더 구성 요소를 포함하십시오. 으로, beforeFilter이 같은 추가 :
function beforeFilter() {
if ($this->action == 'upload') {
$this->Session->id($this->params['pass'][0]);
$this->Session->start();
}
parent::beforeFilter();
}
는 업로드를 할 작업을 만듭니다. 내 모습은 다음과 같습니다.
function upload(){
Configure::write('debug', 0);
$this->autoRender = false;
if (isset($this->params['form']['Filedata'])) {
$this->data['Upload'] = $this->params['form'];
$data = $this->Uploader->upload('Filedata');
}
}
그게 핵심입니다.
그러나 몇 가지 문제점이 있습니다.
Uploadify의 URL에 대한 게시물이 다른 사용자 에이전트에서 온 것으로 볼 수 있으며 이로 인해 오류가 발생할 수 있으므로 세션 ID를 컨트롤러에 전달하고 해당 ID로 새 세션을 시작하십시오. 위와 같이 브라우저의 세션 ID를 업로드 작업에 전달하고 beforeFilter에서 해당 ID로 새 세션을 시작하면이 문제를 해결할 수 있습니다.
또한 업 로더 구성 요소에는 mimetype 유효성 검사 기능이 내장되어 있습니다. 그러나 Uploadify가 제공하는 Flash 업 로더는 원본 파일의 mimetype과 관계없이 일종의 "file-upload-by-flash"MIME 형식으로 모든 파일을 보냅니다. 업 로더 플러그인 코드에서 직접 유효성 검사를 비활성화하여이 문제를 해결했습니다. 즉, 업로드 된 파일의 MIME 형식을 유효하게하려면 다른 위치에 파일을 추가해야합니다.
죄송합니다. 너무 애매합니다. 그러나 얼마 전이 작업을 수행 했으므로 모든 세부 정보를 기억하지 못합니다. 그러나 그것이 올바른 방향으로 당신을 가리키는 데 도움이되기를 바랍니다.