나는 같은 문제에 직면했을 때 여기에 답변을 드리고 싶습니다. 우리는 $ _FILES 요소를 다른 양식과 동일한 게시물의 일부로 사용할 수 있기를 원합니다. 내 대답은 @mrtnmgs를 기반으로하지만 해당 질문에 추가 된 의견을 기록합니다.
첫째 : Dropzone은 Ajax를 통해 데이터를 게시합니다.
formData.append
옵션을 여전히 사용 한다고해서 UX 작업을 처리해야한다는 의미입니다. 즉,이 모든 것이 장면 뒤에서 발생하며 일반적인 양식 게시물이 아닙니다. 데이터가 url
매개 변수에 게시됩니다 .
둘째 : 양식 게시물을 모방하려면 게시 된 데이터를 저장해야합니다.
게시 된 데이터가 수신 된 페이지로 이동하지 않으므로 다른 페이지로드에서 사용자가 사용할 수있는 세션 $_POST
또는 $_FILES
세션에 서버 측 코드를 저장해야합니다 .
셋째 :이 데이터가 실행되는 페이지로 사용자를 리디렉션해야합니다.
이제 데이터를 게시하고 세션에 저장 했으므로 추가 페이지에서 사용자를 위해 표시 / 조치해야합니다. 해당 페이지로 사용자를 보내야합니다.
내 예를 들어 :
[드롭 존 코드 : Jquery 사용]
$('#dropArea').dropzone({
url: base_url+'admin/saveProject',
maxFiles: 1,
uploadMultiple: false,
autoProcessQueue:false,
addRemoveLinks: true,
init: function(){
dzClosure = this;
$('#projectActionBtn').on('click',function(e) {
dzClosure.processQueue(); /* My button isn't a submit */
});
// My project only has 1 file hence not sendingmultiple
dzClosure.on('sending', function(data, xhr, formData) {
$('#add_user input[type="text"],#add_user textarea').each(function(){
formData.append($(this).attr('name'),$(this).val());
})
});
dzClosure.on('complete',function(){
window.location.href = base_url+'admin/saveProject';
})
},
});