2016-11-14 48 views
0

我正在使用FineUploader,並想出瞭如何將圖像上傳到服務器。使用FineUploader,我可以預先使用指定文件夾中的文件填充上傳區域嗎?

$(document).ready(function() { 
    $('#fine-uploader-gallery').fineUploader({ 
    template: 'qq-template-gallery', 
    request: { 
     endpoint: "./vendor/fineuploader/php-traditional-server/endpoint.php" 
    }, 
    deleteFile: { 
     enabled: true, 
     endpoint: "./vendor/fineuploader/php-traditional-server/endpoint.php" 
    }, 
    chunking: { 
     enabled: true, 
     concurrent: { 
     enabled: true 
     }, 
     success: { 
     endpoint: "./vendor/fineuploader/php-traditional-server/endpoint.php?done" 
     } 
    }, 
    resume: { 
     enabled: true 
    }, 
    retry: { 
     enableAuto: true, 
     showButton: true 
    }, 
    thumbnails: { 
     placeholders: { 
     waitingPath: './node_modules/fine-uploader/jquery.fine-uploader/placeholders/waiting-generic.png', 
     notAvailablePath: './node_modules/fine-uploader/jquery.fine-uploader/placeholders/not_available-generic.png' 
     } 
    }, 
    validation: { 
     allowedExtensions: ['jpeg', 'jpg', 'gif', 'png'] 
    } 
    }); 
}); 

現在我想要指定文件夾中的圖像出現在上傳區域,當用戶刷新頁面或最初加載它時。我怎樣才能做到這一點?

+0

如果您在談論「JavaScript將文件添加到文件上傳控件而沒有明確的用戶操作」,AFAIK,您不能。這是一個主要的安全威脅,已被緩解。想象一下這個功能可以做些什麼。 「將用戶客戶端上的任何文件上傳到服務器,而用戶不知道」。 (從視圖中隱藏元素很容易)。 –

回答

1

是的,你可以這樣做。只需啓用"initial files list" feature,並確保您的服務器使用正確的JSON數據來響應Fine Uploader發送的GET請求。例如,如果您想要在初始文件列表中顯示一些服務器端文件,並且您希望Fine Uploader向端點/my/server/initialfiles發送GET請求,則您的配置將如下所示:

var uploader = new qq.FineUploader({ 
    session: { 
     endpoint: '/my/server/initialfiles' 
    } 
}) 

...和你的服務器的這個請求會是這個樣子的響應(假設只有一個文件是代表):

[{ "name": "foo.jpg", "uuid": "7afs-sdf8-sdaf-7asdf", "thumbnailUrl": "/my/server/foo.jpg" } ] 

可以省略thumbnailUrl財產,如果你沒有要呈現該文件的圖像。

+0

完美!謝謝!你的代碼很有用!什麼是'uuid',我在哪裏得到? – zeckdude

+0

每個上傳請求都包含一個uuid作爲qquuid參數。您應該將此文件與數據庫中的文件條目一起存儲。對於您要在加載中表現的未上傳精美上傳文件的文件,只需返回您在數據庫中與該文件關聯的其他唯一ID。 –

相關問題