FineUploader - добавить загруженные файлы при загрузке страницы

0

Я пытаюсь позволить пользователям редактировать файлы, которые они загружали раньше.

Я создал скрипт, который возвращает тот же HTML-код, который генерируется при загрузке файла.

function add_fineuploader_images () {
    $post_id = $_POST['post_id'];
    $media = get_attached_media( 'image', $post_id);
    if ($media) {
    foreach ($media as $image) {
    ?>
        <li class="qq-file-id-0 qq-upload-success" qq-file-id="0" data-id="<?php echo $image->ID; ?>">
            <span class="qq-upload-spinner-selector qq-upload-spinner qq-hide"></span>
            <img class="qq-thumbnail-selector" qq-max-size="100" qq-server-scale="" src="<?php echo wp_get_attachment_image( $image->ID, 'thumbnail' );?>">
            <span class="qq-edit-filename-icon-selector qq-edit-filename-icon"></span>
            <span class="qq-upload-file-selector qq-upload-file"><?php echo $image->post_title; ?></span>
            <input class="qq-edit-filename-selector qq-edit-filename" tabindex="0" type="text">
            <a class="qq-upload-cancel-selector qq-upload-cancel qq-hide" href="#">Cancel</a>
            <a class="qq-upload-retry-selector qq-upload-retry qq-hide" href="#">Retry</a>
            <a class="qq-upload-delete-selector qq-upload-delete" href="#">Delete</a>
            <a class="qq-upload-featured-selector qq-upload-set-featured" href="#">Set as featured</a>
            <span class="qq-upload-status-text-selector qq-upload-status-text"></span>
        </li>
    <?php
    }
}
exit();

}

И при загрузке страницы я звоню в AJAX Post для загрузки изображений на страницу:

var post_id = $('#post_id').val();
    $.post(Ajax.ajaxurl, { action: 'add_fineuploader_images', post_id: post_id }, function(data) {
        console.log(data);
        $('.qq-upload-list').html(data);
    });

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

Теперь мне нужно сообщить FineUploader об этом, поэтому DELETE и другие методы работают.

Я инициализирую FineUploader следующим образом:

 $("#fine-uploader").fineUploader({
  request: {
        endpoint: Ajax.ajaxurl,
        params: {
            action: 'attach_files',
            post_id: $('#post_id').val()
        }
    },
  deleteFile: {
        enabled: true,
        endpoint: Ajax.ajaxurl,
        method: 'POST'
    }
});

Как повторно инициализировать FineUploader? Или, есть ли лучший способ сделать это?

Теги:
initialization
fine-uploader

1 ответ

2
Лучший ответ

Если вы хотите отображать файлы в списке загрузок, которые были загружены в предыдущем сеансе, просто используйте функцию Initial File List. Не нужно изобретать велосипед здесь. Если вы хотите перезагрузить Fine Uploader, используйте метод API reset.

Я заметил, что вы задаете много вопросов, которые описаны в документации. Я рекомендую вам внимательно ознакомиться с существующей документацией и демонстрационными материалами, которые, мы надеемся, достаточно полны.

  • 0
    Спасибо, я, конечно, всегда пытаюсь найти ответ в документации. Проблема для меня в том, что документацию мне довольно сложно понять - было бы очень полезно добавить несколько реальных примеров прямо в нее.
  • 0
    Многие страницы функций имеют пример кода. Я бы начал со страниц функций, поскольку каждая страница функций также содержит соответствующие ссылки на события, методы и опции.
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню