2

私はここで迷子になっています。SWFUploadによって処理される単純なファイルアップロードを設定しようとしています。ファイルを選択した後は何も起こりません。リクエストが送信されていないのに、コンソールに何もありません。swfオブジェクトはupload_urlページをすぐに呼び出すことになっていますか?

        var swfu,jobForm;
        var j = jQuery.noConflict();
        j(window).load(function() {
            jobForm = j('.admin-atomic-form form');
            swfu = new SWFUpload({
                upload_url : "URL/upload.php",
                flash_url : "URL/swfupload.swf",
                file_size_limit : "20 MB",
                file_types : "*.doc;*.pdf;*.rtf;*docx;*.jpg;",
                //file_types_description : "All Files",
                file_upload_limit : "1",
                button_placeholder_id : "swfuploader",
                button_image_url : "URL/file-browse.png",
                button_width: 100,
                button_height: 30,
                upload_start_handler : uploadStart,
                upload_success_handler : uploadSuccess
            }); 
            //jobForm.form.submit(function(ev){ev.preventDefault()})
        });

        function uploadStart(){
            //.submit()
            console.log(this,'start');
        };
        function uploadSuccess(){
            //form.submit()
            console.log('success');
        }
4

2 に答える 2

0

ファイルのアップロードを開始するには、次の 2 段階のプロセスがあります。1. ファイルを選択し (入力ボックスにパスが入力されます)、2. フォームを送信して実際のアップロードを開始する必要があります。

コードでコメントアウトしているため、ステップ2を実行していないと思いますform.submit()

この行のコメントを外してください://jobForm.form.submit(function(ev){ev.preventDefault()})

ファイルを選択したら、フォームを送信します。

于 2012-08-29T15:42:38.050 に答える
0

SWFUploadObj.startUpload();起動する必要があり、それが指定された upload_url への POST リクエストを開始した理由です。このメソッドがデフォルト設定で起動された場合、それは確かに私のためにそれを行っていませんでした.

私の関数のいくつかの例を次に示します。

// Bound to file_queued_handler : sets a flag that there is a file waiting to upload 
function swfuFileQueued(file){
    resumeQueued = true;
    $j('#browseFile').val(file.name);
}


//Bound to form submit event:
//a successful upload will submit this form again once the success response with the server-moved and renamed filename comes back from the file upload handling script

function swfuFormSubmit(ev){
    if(uploadSuccess){
        return true;
    } else {
        if(resumeQueued == true){
            ev.preventDefault();
            swfuUploadStart(); // see next function
        } else {
            return true;
        }
    }
}

function swfuUploadStart(){
    try {
        swfu.startUpload(); // <-- The actual method that begins the file upload request
    } catch (e) {
    }
    return false;
}

function swfuProgress(){ ...
function swfuError(){ ...
function swfuSuccess(){ 
    //update input element containing filename or id to send with form
    //update a status box with "Success"
    //uploadSuccess = true 
    //form.submit() once more, this time uploadSuccess will tell the function to continue on and actually submit itself

SWFUpload プロセスを理解するのに役立つ URL : http://www.dconstructing.com/2010/07/08/making-swfupload-work

于 2012-08-29T22:38:40.997 に答える