2015-05-16 3 views
-1

Я использую файл blueimp для загрузки изображений, связанных с отдельными записями свойств. Изображения для каждого свойства хранятся в подкаталоге файлов, идентифицированных идентификатором записи - например, файлы/1/img.jpg.blueimp-jQuery-File-Upload в определенный каталог

Для того, чтобы загрузить изображения в указанный подкаталог я добавил скрытое поле в форме

<input type="hidden" name="property_id" id="property_id" value="<?php echo($pid);?>"> 

В main.js я добавил следующий код

// Set additional form data just before the upload starts 
    $('#fileupload').bind('fileuploadsubmit', function (e, data) { 
    var id = $('#property_id').val(); 
    data.formData = {property_id: id}; 
}); 

Я изменил index.php следующим (благодаря Николаю Коннору в группах Google)

Все работает отлично, blueimp wi ll создать каталог и/thumbs каталог, если его там нет, и загрузить изображения в нужное место. Проблема в том, что когда я обновляю страницу (или просматриваю страницу в первый раз), изображения больше не отображаются (хотя все они существуют). Я предполагаю, что это связано с привязкой дополнительных данных к обратному вызову для события отправки? Хотя Firebug дает мне следующее на странице обновления GET http://localhost/property/uploads/?property_id=18

Я искал решение для (кажется) дней, поэтому любая помощь очень ценится.

ответ

-1

Я разработал решение, но, похоже, немного «взломал», поэтому, надеюсь, кто-то сможет улучшить его. Однако он работает так, может быть, с некоторой помощью.

Извлеките блок кода jQuery, добавленный в main.js (// добавьте дополнительные данные формы и т. Д.), Поскольку это только сообщение по значению при загрузке файла. Затем добавляют идентификатор свойства в URL:

$(function() { 
    'use strict'; 

    // get a value for the property id 
    var property_id = $('#property_id').val(); 

    // Initialize the jQuery File Upload widget: 
    $('#fileupload').fileupload({ 

     // Uncomment the following to send cross-domain cookies: 
     //xhrFields: {withCredentials: true}, 
     // url modified to include the property_id value 
     url: 'uploads/index.php?property_id='+property_id 
    }); 

blueimp JQuery-File-Upload теперь будет создать подкаталог файлов/как PROPERTY_ID, загружать изображения в нужную папку и отображать изображения, когда страница загружается.

Смежные вопросы