Symfony2和Blueimp jQuery-File-Upload:在哪里设置"server/php"目录

Jea*_*ean 5 php jquery file-upload symfony blueimp

我将使用Blueimp jQuery-File-Upload库的基本版本进行文件上传.在PHP框架中,这个Javascript库依赖于PHP类"index.php"的执行,该类放在"server/php"目录中.如教程页面所示,"action"必须指向该目录.

Symfony2应用程序中使用此库时,应该在哪里放置"server/php"目录我应该使用哪条路径?在实践中如何让它工作?

PS:我知道有一些像Punkave的 "symfony2-file-uploader-bundle" 这样 Symfony2软件包,但是教程中有一些东西我不见了,我希望不要再复发到Symfony2表格 -

ado*_*uas 6

我会将jquery插件内容放入web/bundles/<your bundle name>/js/jquery-file-upload.然后我将配置脚本(检查Options config)以在以下位置查找index.php文件:/bundles/<your bundle name>/js/jquery-file-upload/server/php/index.php.

当然,您必须修改index.php文件以检查用户是否已登录以及是否具有正确的权限.

举个例子,这就是我在测试环境中所做的:

我将此操作添加到控制器:

/**
 * @Route("/test/jquery-file-upload")
 * @Template("<your bundle name>:Default:test-jquery-file-upload.html.twig")
 */
public function testJqueryFileUploadAction()
{
    return array();
}
Run Code Online (Sandbox Code Playgroud)

我创建了这个模板:

<input id="fileupload" type="file" name="files[]" data-url="{{ asset('bundles/<your bundle name>/jquery-file-upload/server/php/index.php') }}" multiple>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script src="{{ asset('bundles/<your bundle name>/jquery-file-upload/js/vendor/jquery.ui.widget.js') }}"></script>
<script src="{{ asset('bundles/<your bundle name>/jquery-file-upload/js/jquery.iframe-transport.js') }}"></script>
<script src="{{ asset('bundles/<your bundle name>/jquery-file-upload/js/jquery.fileupload.js') }}"></script>
<script>
$(function () {
    $('#fileupload').fileupload({
        dataType: 'json',
        done: function (e, data) {
            $.each(data.result, function (index, file) {
                $('<p/>').text(file.name).appendTo(document.body);
            });
        }
    });
});
</script>
Run Code Online (Sandbox Code Playgroud)