Codeigniter:多文件上传

时间:2014-05-15 05:34:31

标签: php codeigniter jquery-file-upload multiple-files multifile-uploader

我尝试了很多多文件上传器,可以与codeigniter集成,如

  • pulpload
  • jquery文件上传

即使它们在纯php环境中完美运行,我也无法使它们在codeigniter框架中工作。我试了两天..尝试了许多文章,在github和博客.. 但我无法在codeigniter框架中实现它。 如果有人可以一步一步告诉我,或者有相关的教程,请帮助我。 我是codeigniter的新人..

新: 我下载了blueimp Jquery-File-Upload插件,并按照此链接进行了操作。     https://github.com/blueimp/jQuery-File-Upload/wiki/Latest-jQuery-File-Upload-easy-integration-with-codeigniter

当我选择一个文件并点击Chrome上传时,它会显示:

Error SyntaxError: Unexpected token <

在Firefox中它说:

Error SyntaxError: SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data

我检查了在我的服务器和演示服务器上使用它之间的区别,在我的服务器上使用firebug,POST返回是整个index.html ... 但在演示服务器上它返回JSON数据..

这是我改变的js / main.js的修改部分:

$(function () {
'use strict';

// Initialize the jQuery File Upload widget:
$('#fileupload').fileupload({
    // Uncomment the following to send cross-domain cookies:
    //xhrFields: {withCredentials: true},
    url: 'upload/do_upload'
});

// Enable iframe cross-domain access via redirect option:
$('#fileupload').fileupload(
    'option',
    'redirect',
    window.location.href.replace(
        /\/[^\/]*$/,
        '/cors/result.html?%s'
    )
);

if (window.location.hostname === 'blueimp.github.io') {
    // Demo settings:
    $('#fileupload').fileupload('option', {
        url: '//jquery-file-upload.appspot.com/',
        // Enable image resizing, except for Android and Opera,
        // which actually support image resizing, but fail to
        // send Blob objects via XHR requests:
        disableImageResize: /Android(?!.*Chrome)|Opera/
            .test(window.navigator.userAgent),
        maxFileSize: 5000000,
        acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i
    });
    // Upload server status check for browsers with CORS support:
    if ($.support.cors) {
        $.ajax({
            url: '//jquery-file-upload.appspot.com/',
            type: 'HEAD'
        }).fail(function () {
            $('<div class="alert alert-danger"/>')
                .text('Upload server currently unavailable - ' +
                        new Date())
                .appendTo('#fileupload');
        });
    }
} else {
    // Load existing files:
    $('#fileupload').addClass('fileupload-processing');
    $.ajax({
        // Uncomment the following to send cross-domain cookies:
        //xhrFields: {withCredentials: true},
        url: $('#fileupload').fileupload('option', 'url'),
        dataType: 'json',
        context: $('#fileupload')[0]
    }).always(function () {
        $(this).removeClass('fileupload-processing');
    }).done(function (result) {
        $(this).fileupload('option', 'done')
            .call(this, $.Event('done'), {result: result});
    });
}

});

我唯一改变的是让index.html让表单操作指向我的脚本(upload / do_upload)

0 个答案:

没有答案
相关问题