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

标签 jquery-plugins jquery-file-upload

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

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

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

最佳答案

你只需要添加 jquery.fileupload-video使用插件上传视频时的文件。这就是我如何使用它

$(function () {
    'use strict';
    var url = YourURL+"public/server/php/";

    $('#fileupload').fileupload({
        url: url,
        method: 'POST',
        dataType: 'json',
        autoUpload: true,
        acceptFileTypes: /(\.|\/)(mp4)$/i,
        maxFileSize: 40000000, // 40 MB
        disableImageResize: /Android(?!.*Chrome)|Opera/
            .test(window.navigator.userAgent),
        previewMaxWidth: 300,
        previewMaxHeight: 200,
        previewCrop: true,
    }).on('fileuploadadd', function (e, data) {
        data.context = $('<div class="col-md-3 videopreview" />').appendTo('#files');
        $.each(data.files, function (index, file) {
            var node = $('<p/>');
            if (!index) {
                node
                    .append('<br>')
            }
            node.appendTo(data.context);
        });
    }).on('fileuploadprocessalways', function (e, data) {
        var index = data.index,
            file = data.files[index],
            node = $(data.context.children()[index]);
        if (file.preview) {
            node
                .prepend('<br>')
                .prepend(file.preview);
        }
        if (file.error) {
            node
                .append('<br>')
                .append($('<span class="text-danger"/>').text(file.error));
        }
        if (index + 1 === data.files.length) {
            data.context.find('button')
                .text('Upload')
                .prop('disabled', !!data.files.error);
        }
    }).on('fileuploadprogressall', function (e, data) {
        var progress = parseInt(data.loaded / data.total * 100, 10);
        $('#progress .progress-bar').css(
            'width',
            progress + '%'
        );
    }).on('fileuploaddone', function (e, data) {
        $.each(data.result.files, function (index, file) {
            if (file.url) {
                var link = $('<a>')
                    .attr('target', '_blank')
                    .prop('href', file.url);
                $(data.context.children()[index])
                    .wrap(link).append($('<span/>').text(file.name));
                $( "#filesHidden" ).append( '<input type="hidden" name="images[]" value="' + file.name + '">' );
            } else if (file.error) {
                var error = $('<span class="text-danger"/>').text(file.error);
                $(data.context.children()[index])
                    .append('<br>')
                    .append(error);
            }
        });
    }).on('fileuploadfail', function (e, data) {
        $.each(data.files, function (index, file) {
            var error = $('<span class="text-danger"/>').text('File upload failed.');
            $(data.context.children()[index])
                .append('<br>')
                .append(error);
        });
    }).prop('disabled', !$.support.fileInput)
        .parent().addClass($.support.fileInput ? undefined : 'disabled');

});

还记得添加以下内容
  • jquery.ui.widget.js
  • 加载-image.min.js
  • jquery.iframe-transport.js
  • jquery.fileupload.js
  • jquery.fileupload-validate-es_ES.js//这个只针对语言
  • jquery.fileupload.css
  • 关于jquery-plugins - Blueimp jQuery 文件上传音频/视频预览,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21047299/

    相关文章:

    javascript - 鼠标滚轮不工作(mCustomScrollbar jQuery 插件)

    jQuery 文件上传不使用 XHR 或 IFrame

    javascript - JQuery Fileupload 带有表单数据并且只有单个文件

    ruby-on-rails-3 - Rails - 使用 Jquery File Upload(托管在 Heroku 上)将大文件直接上传到 S3

    jquery - 如何以嵌套形式使用 jQuery FIle Upload?

    jquery - float 元素的顺序似乎颠倒了

    javascript - 如何使用 BlueImp jquery-file-upload 使用发送选项传递参数

    javascript - 调整图像大小和裁剪图像

    javascript - jQuery roundabout 没有正确对齐照片

    jQuery Mobile 1.3.1 taphold 事件多次触发