标签: oneupuploaderbundle

不调用Symfony 3.1和OneUpUploaderBundle + Blueimp = UploadListener

介绍

差不多两个星期前,我创建了类似的关于上传使用的问题OneupUploaderBundle,但是使用了FineUploader库.可悲的是,还没有答案.在此期间,我尝试设置不同的上传库.

我开发上Windows 10 ProXAMPP[1],其包括PHP v7.0.8.

我正在使用Symfony v3.1.5,OneupUploaderBundleBlueimp jQuery上传,以便将文件上传到服务器.

在设置时,我遵循了OneUpUploaderBundle[2]和jQuery file upload[3],[4]的文档.

问题

我想将文件上传到某个目录,然后检查他们的mime类型并验证是否允许上传文件mime类型,之后 - 将它们移动到自定义目录(可以从文件更改为文件),最后我想保留文件路径和文件名到数据库.

文件上传工作正常,文件上传到oneup_uploader_endpoint('gallery').即使是自定义文件Namer也可以上传到自定义目录.

但是,不会调用侦听器(上传侦听器和验证)并显示在Symfony Profiler Events部分中Not Called Listeners!

这是不幸的,因为我想使用Post_Persist事件将有关文件的信息保存到数据库.OneupUploaderBundle事件.

我的services.yml

services:
    app.upload_listener:
        class: AppBundle\EventListener\UploadListener
        arguments: ["@doctrine.orm.entity_manager"]
        tags:
            - { name: kernel.event_listener, …
Run Code Online (Sandbox Code Playgroud)

php jquery symfony blueimp oneupuploaderbundle

10
推荐指数
1
解决办法
1388
查看次数

使用OneupUploaderBundle上传的实体文件的简单示例

我尝试使用OneupUploaderBundle上传文件.我多次阅读此捆绑包的文档,但我没有设法找到要上传文件的实体的任何简单示例.我的期望是一个类似于以下的类定义VichUploaderBundle:

<?php

namespace Minn\AdsBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\HttpFoundation\File\File;
use Symfony\Component\Validator\Constraints as Assert;
use Vich\UploaderBundle\Mapping\Annotation as Vich;

/**
 * @ORM\Entity
 * @Vich\Uploadable
 */
class MotorsAdsFile {

    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    public $id;

    /**
     * @Assert\File(
     *     maxSize="5M",
     *     mimeTypes={"image/png", "image/jpeg"}
     * )
     * @Vich\UploadableField(mapping="motors_files", fileNameProperty="filename")
     * note: This is not a mapped field of entity metadata, just a simple property.
     * @var File $file
     */
    protected $file;

    /**
     * @ORM\Column(type="string", length=255, …
Run Code Online (Sandbox Code Playgroud)

file-upload symfony jquery-file-upload oneupuploaderbundle

6
推荐指数
1
解决办法
7883
查看次数

如何使用带有多个文件+ symfony3的jQuery BlueImp上传来获取与每个文件对应的错误

介绍

为了将多个文件上传到我正在使用的服务器:

  1. Symfony v3.2.6
  2. OneUpUploaderBundle
  3. OneUpFlysystemBundle
  4. 由Blueimp上传的jQuery文件

注意

请注意:

  1. 使用单个文件上传时,此配置工作顺利(选择文件,上传然后从头开始重复).我的问题在于使用相同构建块的多个文件上传.
  2. 我没有成功实现jQuery File Upload示例Basic Plus UI用户界面.(另外,我没有在互联网上找到任何相关的例子).
  3. 目前多个文件上传工作正常,虽然界面是"非常Spartan" - 它只包括upload progress bar(所有文件通用)和upload button(上传所有添加的文件)所以几乎没有UI!

目标

我想创建多个文件上传,这将接近于jQuery File Upload示例Basic Plus UI,但是:

  • 没有文件和图像预览,
  • 没有单独的文件上传选项,
  • 没有单独的上传进度条选项.

问题

目前至少没有办法确定哪个文件出错了!

例1

例如:我从服务器获得以下JSON响应

data.jqXHR.responseText = {"files":[{"error":"error.maxsize"},{"error":"error.maxsize"}]}
Run Code Online (Sandbox Code Playgroud)

但当时有3个上传的文件 - 所以 - 没有信息哪个错误对应哪个文件!

例2

如果我像这样修改上传监听器:

public function onUpload(PreUploadEvent $event)
{
    $file = $event->getFile();

    $response = $event->getResponse();

    $response['files'] = [
        'name'=> $file->getBaseName(),
        'type'=> $file->getType(),
        'size'=> $file->getSize(),
    ];

    return json_encode($response);
} …
Run Code Online (Sandbox Code Playgroud)

php symfony blueimp jquery-file-upload oneupuploaderbundle

6
推荐指数
1
解决办法
658
查看次数