标签: jquery-file-upload

jQuery文件上传插件没有调用成功回调

我正在使用jQuery fileupload插件,我想在完成fileupload后做一些自定义jQuery的东西

从这里 https://github.com/blueimp/jQuery-File-Upload/wiki/Options

现在它说了这个

Callback for successful upload requests.
$('#fileupload')
       .bind('fileuploaddone', function (e, data) {/* ... */})
Run Code Online (Sandbox Code Playgroud)

现在我已经在我自己的js文件中定义了这个自定义函数进行测试

$('#fileupload').bind('fileuploaddone', function (e, data) {/* ... */
alert('Hello');
})
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

但如果我在这里编辑主文件

  // Callback for successful uploads:
            done: function (e, data) {
Run Code Online (Sandbox Code Playgroud)

然后它工作.

javascript jquery jquery-file-upload

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

asp.net mvc 4与jquery-file-upload Request.Files.Count始终为0

我目前正在使用asp.net mvc 4,并使用jquery-file-upload来上传图片,如果我这样初始化:

        $('#fileupload').fileupload();

        $('#fileupload').fileupload('option', {
            //url: '/Admin/News/Create',
            maxFileSize: 500000000,
            acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
            maxNumberOfFiles: 1,
            resizeMaxWidth: 1920,
            resizeMaxHeight: 1200,
        });
Run Code Online (Sandbox Code Playgroud)

当选择图像文件时,图像可以在borwser中预览,但在mvc Action Request.Files.Count为0时,表示没有上传文件.如果我这样初始化:

        //$('#fileupload').fileupload();

        $('#fileupload').fileupload('option', {
            //url: '/Admin/News/Create',
            maxFileSize: 500000000,
            acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
            maxNumberOfFiles: 1,
            resizeMaxWidth: 1920,
            resizeMaxHeight: 1200,
        });
Run Code Online (Sandbox Code Playgroud)

我无法预览图像,但mvc Action获取文件,有谁知道为什么?控制器的邮政编码:

    [HttpPost]
    [ValidateInput(false)]
    public ActionResult Create(NewsViewModel model, FormCollection form)
    {
        if (ModelState.IsValid)
        {
            //....

            // upload image
            foreach (string file in Request.Files)
            {
                HttpPostedFileBase hpf = Request.Files[file] as HttpPostedFileBase;
                if (hpf.ContentLength == 0)
                    continue;
                string path = Path.Combine(Server.MapPath("~/Uploads/News/"),GUID.NewGuid()+ Path.GetExtension(hpf.FileName));
                hpf.SaveAs(path);

                data.ImagePath …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc jquery-file-upload

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

Blueimp jQuery文件上传音频/视频预览

经过一些谷歌搜索,我无法找到使用jQuery文件上传插件的音频和视频预览扩展的示例.

http://blueimp.github.io/jQuery-File-Upload/

有没有人用过这些可以提供最小例子的人?

jquery-plugins jquery-file-upload

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

Blueimp文件上传一个请求 - 文件未被发送

我有一个表单,允许在动态添加到表单的各个字段中上传文件.我正在使用Blueimp的jQuery文件上传插件.我正在尝试在一个请求中发送多个文件.我不希望发送多个请求.当我提交表单时,要上载的文件不包含在请求中.我将它们保存在add方法的filesList数组中,并确保覆盖现有值.然后我使用send选项发送文件.虽然,他们不包括在ajax帖子中.我错过了什么?我在网上见过别人试图做到这一点.但是,我还没有找到一个可靠的工作示例.以下是我的代码:

  var fileList = [],
    exists = false;

$form.fileupload({
    autoUpload: false,
    singleFileUpload: false,
    url: '/handler.php',
    add: function(e, data) {
        exists = false;
        for(var i = 0, len = filesList.length; i < len; i++) {
            if(filesList[i].paramName === data.paramName) {
                // file already exists for this param, replace it
                exists = true;
                filesList[i] = data;
                break;
            }
        }

        // no file exists for this param, add it to array
        if(!exists) {
            filesList.push(data);
        }

        $form.off('submit').one('submit', function(e) {
            $form.fileupload('send', {
                files: filesList
            });

            return …
Run Code Online (Sandbox Code Playgroud)

jquery blueimp jquery-file-upload

6
推荐指数
2
解决办法
4267
查看次数

使用jQuery File Upload插件在上传之前获取上传文件名

我正在使用jQuery文件上传插件https://github.com/blueimp/jQuery-File-Upload/wiki将多个文件上传到服务器.我将使用自定义Web服务将上传的图像存储在服务器上.但是,除了POST请求主体之外,我还需要将正在上载的文件的名称传递给Web服务.因此,对于每个文件传输,我还需要将该文件的名称传递给Web服务.有人可以告诉我如何获取文件名并将其与每个上传请求一起发送?我基本上需要从现场获取它,没有任何额外的输入字段.如果用户选择了10个文件,我需要为队列中的每个文件取名,并使用上传请求提交.

谢谢.

jquery jquery-file-upload

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

使用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
查看次数

IE jquery异步文件上传请求待处理

我创建了一个带有进度条的新的多拖放文件上传控件.它适用于所有浏览器,除了IE 10及更高版本的问题.

当我在IE中上传文件时,大多数时候jquery异步请求都无法完成.它显示待定.我可以看到它在IE网络调试器窗口中待定.但在所有其他浏览器中它运行良好.我无能为力这里有什么不妥.最初我认为它可能与缓存有关.但在服务器响应中添加以下参数后.它仍然处于待定状态

context.Response.AppendHeader("Cache-Control", "no-cache"); // HTTP 1.1
context.Response.AppendHeader("Pragma", "no-cache"); // HTTP 1.1 
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述 在此输入图像描述 在此输入图像描述

for (var i = 0; i < files.length; i++) {
        var data = new FormData();
        data.append(files[i].name, files[i]);
        uploadFile(handlerurl, data);
    }
function uploadFile(handlerurl, formData) {
                var jqXHR = $.ajax({
                    type: 'POST',
                    url: handlerurl,
                    contentType: false,
                    processData: false,
                    async: true,
                    cache: false,
                    data: formData,                         
                    xhr: function () {   },
                    success: function (result, status, xhr) {   },
                    error: function (xhr, status, error) {   }
          });
}
Run Code Online (Sandbox Code Playgroud)

我在每个文件中调用此函数.我不确定IE有什么问题.

编辑:调试后,发现服务器断点将命中.但是context.Request.Files中没有文件.没有文件从jquery/AJAX发送.您可以通过反复上传同一文件来重现此问题.

jquery html5 internet-explorer xmlhttprequest jquery-file-upload

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

使用dropzone for xampp

当我尝试使用Dropzone.js处理Xampp上的文件上传时,我得到了

服务器响应0代码错误.

到目前为止我检查了什么:

  • php.ini中允许文件上传
  • 我已经设置了正确的max_filesize和post_max_size值
  • 在Google上搜索以找到解决方案(找不到任何内容)
  • 检查目录权限.

请有人帮我吗?我也试过其他文件上传的东西,但我无法将文件上传到我的xampp.我错过了什么?任何帮助都非常感谢.

更新:添加代码:上传表单 - 不要怀疑它的行动,它来自Twig/Symfony

<form id="uploadForm" name="upload" action="{{ 'upload_path'  }}" class="dropzone" enctype="multipart/form-data">
           <div class="dz-message" data-dz-message>
                <span>
                  Drag & Drop your files here.
                </span>
           </div>
       </form>
Run Code Online (Sandbox Code Playgroud)

Dropzone Javascript:

<script type="text/javascript" src="{{ asset('js/dropzone.js') }}"></script>
<script type="text/javascript">
    Dropzone.options.uploadForm = {
        accept: function(file, done) {
            if (file.type != "image/jpeg" &&
                    file.type != "image/png") {
                done("Falsches Datenformat! Ihre Datei muss als JPG oder PNG hochgeladen werden.");
            } else {
                done();
            }
        },
        success: function(file, response) {
            if (file.previewElement) …
Run Code Online (Sandbox Code Playgroud)

javascript php symfony jquery-file-upload

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

jQuery文件上传不使用XHR或IFrame

我有一个上传解决方案,使用与此类似的设置,人们可以将文件拖到页面上并将其上传到S3.

但是,我遇到了XHR/Iframe上传的问题.基本上,如果我遗漏了forceIframeTransport文件将成功上传到S3,但整个页面最终都在S3上,因为这是表单提交的地方.

当我包含forceIframeTransport设置时true,没有任何反应.控制台中没有例外,服务器上没有任何事情发生.

我已经包括jquery.iframe-transport,jquery.ui.widget并且jquery.fileupload在页面,按照这个顺序.

upload jquery file blueimp jquery-file-upload

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

如何使用带有多个文件+ 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
查看次数