0

swfuploadにいくつかのpostパラメーターを動的に追加しようとしています。ただし、スクリプトが実行されてファイルがアップロードされると、POSTパラメーターが失われます。私が間違っているかもしれない情報はありますか?私のコードは以下の通りです:

var swfu = new SWFUpload({  
upload_url : "http://something/location",
    flash_url : "http://an-absolute-url-to/swfupload.swf", 
file_post_name : "fileObject", 
http_success : [201, 202], 
assume_success_timeout : 0, 
file_types : "*.jpg;*.gif;*.png", 
file_types_description: "Web Image Files", 
file_size_limit : "1000 MB",
file_upload_limit : 10, 
file_queue_limit : 2, 
debug : true, 
prevent_swf_caching : false, 
button_placeholder_id : "button", 
button_width : 61, 
button_height : 22, 
button_text : "<b>Click</b> <span class=\"redText\">here</span>", 
button_text_style : ".redText { color: #FF0000; }", 
button_text_left_padding : 3, 
button_text_top_padding : 2, 
button_action : SWFUpload.BUTTON_ACTION.SELECT_FILES, 
button_disabled : false, 
button_cursor : SWFUpload.CURSOR.HAND, 
button_window_mode : SWFUpload.WINDOW_MODE.TRANSPARENT, 
file_queue_error_handler : function(e){window.alert("ERror@")}, 
upload_start_handler : function(e){
        $.ajax({url:"/auth",
data:"file=" + e.name,
    success: function(msg){
        $.swfu.addPostParam("param1",msg.p1);
        $.swfu.addPostParam("param2",msg.p2);
}
    });

}, 
4

1 に答える 1

0

file_dialog_complete_handler のイベント ハンドラーを SWFUpload 構造に追加することで、ファイル ダイアログの完了に配線しました。

file_dialog_complete_handler : fileDialogComplete,

次に、javascript 関数 fileDialogComplete を次のように実装しました (2 つのフォーム フィールド、カテゴリ、メモがあり、jquery を使用して取得します)。

function fileDialogComplete(msg) {  
        swfu.addPostParam( "category", $('#category').val());
        swfu.addPostParam( "notes", $('#notes').val());
        swfu.startUpload();     
} 

これで、ファイルが選択されると、fileDialogComplete メソッドが開始され、アップロードが開始されます。次に、サーバー側で、投稿変数を確認できます。

Post[Filename]=Finland.png
Post[category]=2
Post[notes]=Here we go
Post[Upload]=Submit Query
于 2012-12-19T04:50:16.760 に答える