0

我在这段代码上做了一些工作,按照我想要的方式实现功能,但最后我想我错过了一些相当大的东西:文件似乎没有上传。进度条已完美调整,对话框运行良好,只是没有文件上传。

这是怎么回事?

我的Javascript:

    fileCount = 0;
    barWidth = 0;

$(function() {
var uploader = new plupload.Uploader({
    runtimes : 'flash',
    browse_button : 'pickfiles',
    max_file_size : '10mb',
    url : 'js/upload/upload.php',
    resize : {width : 700, height : 700, quality : 90},
    flash_swf_url : 'js/upload/plupload.flash.swf',
    filters : [
        {title : "Image files", extensions : "jpg,gif,png"},
    ]
});

uploader.bind('Init', function(up, params) {

});

uploader.bind('FilesAdded', function(up, files) {
    $.each(files, function(i, file) {
        fileCount ++
        $('#uploadfiles').fadeIn(200);
        $('#filelist').append(
            '<div id="' + file.id + '">' +
            file.name + ' (' + plupload.formatSize(file.size) + ') <b></b>' +
        '</div>');
    });
});

uploader.bind('FileUploaded', function(up, file) {
    console.log(file.name);
    $('#'+ file.id).fadeOut(200);
});

uploader.bind('UploadProgress', function(up, file) {

    barWidth = barWidth+(file.percent/fileCount)

    $('#progressBar').animate({"width":barWidth+"%"},300);
        if (barWidth == 100 ) {$('#progressBox').delay(2000).fadeOut(200)};
    });

$('#uploadfiles').click(function(e) {
    e.preventDefault();
    $('#filelist').fadeIn(200, function() {
        $('#progressBox').fadeIn(200, function() {
            uploader.start();
        });
    });
});

uploader.init();
});

我的 HTML(根据下面的评论更新):

<form method="post" action="js/upload/upload.php" enctype="multipart/form-data">
    <div>
        <button id="pickfiles" href="#">Add...</button> 
        <button id="uploadfiles" href="#">Upload</button>
        <br />
        <div id="filelist"></div>
        <div id="progressBox"><div id="progressBar"></div></div>
    </div>
</form>
4

1 回答 1

1

我认为您的答案在于upload.php 文件在收到帖子时的作用。检查与您的配置行关联的文件: url : 'js/upload/upload.php' 我遇到了类似的问题(在 ASP.NET 中),上传目录不存在。

希望有帮助。

于 2010-11-11T02:38:32.073 回答