지난 며칠 동안 저를 곤혹스럽게 만들었습니다. Drupal 7에서 모달 형식을 사용하고 있으므로 hook_form 시스템 외부에서 작업하여 이미지를 업로드하려고합니다. 이 양식은 아약스 게시물을 통해 제출되며, 게시물과 함께 파일을 제출할 수 없습니다. 내가 한 일은 아약스 콜백에서 파일 입력으로 새 양식 요소를 만든 다음 제출을 트리거하고 내 모듈 정의 페이지에 게시합니다.Drupal 7 파일 업로드 (hook_form 제외)
원래 입력 요소 :
<input type="file" id="chooseImage" name"someImage" class="form-file">
JS 제출 트리거 :
$.ajax({
type:'POST',
url:$('#originalForm').attr('action'),
data: data,
success: function(response) {
if (response.success) {
$('<form id="imageForm" method="POST" action="upload/image/'+response.data.nid+'"></form>').appendTo($('#imageSubmit'));
$('#chooseImage').appendTo($('#imageForm'));
console.log($('#imageForm'));
$('#imageForm').submit(function(e){
console.log(e);
alert('freeze! hammertime...');
});
//This should post the file but it isn't...
$('#imageForm').trigger('submit');
}
},
dataType:'json'
});
가 이벤트를 제출는 잘 파일 속성을 보여줍니다. 그러나 내 페이지 콜백이 끝나는 백엔드에서 ...
function myModule_image_upload($param){
error_log('number of files = '.sizeof($_FILES));
}
게시 된 파일이 없습니다. .submit()이 실행 된 후 브라우저에서 파일의 데이터를 제거하고있는 것 같아요. 그럴 경우에는 아무 것도 할 힘이 없을 것입니다. 따라서 별도의 메뉴를 구현해야합니다. 이미지 업로드를위한 후크 시스템.
또한이 작업이 실제로 무엇을 하던지간에, 영구적으로 워치 독을 중단하여 새로운 덤프를 다시 가져와야합니다.
감사 할 수 있어야합니다. 그렇습니다, 그것은 중요한 부분이고 어떤 점에서 나에게 문제를 일으킬 것 같지만, 불행히도,이 특별한 문제를 해결하지는 못했습니다. – user1496391
그리고 그것은 그것을 할 것입니다 (누락 =). – user1496391