2

JQueryUIの実装であるpluploadを使用しています。サーバーに追加のパラメーターを渡そうとしていますが、機能させることができません。非常に簡単なはずです。関数の実行時にパラメータがすでに設定されているので、問題はありません。私はこれを試しました:

function GetPlUploader(m)
{
$("#divOpplaster").plupload(
{
    // General settings
    runtimes: 'flash,html5,silverlight',
    url: 'upload.php',
    max_file_size: '10mb',
    chunk_size: '1mb',
    unique_names: true,
    multipart: true,
    multipart_params: [
    {
        'ordre': ordreibruk,
        'mode': m}
    ],

    // Specify what files to browse for
    filters: [
    {
        title: "Bildefiler",
        extensions: "jpg,gif,png,bmp"}
    ],

    // Flash settings
    flash_swf_url: 'plupload/js/plupload.flash.swf',

    // Silverlight settings
    silverlight_xap_url: 'plupload/js/plupload.silverlight.xap',

    init: {
        FileUploaded: function(up, file, info)
        {
            // Called when a file has finished uploading
            console.log('[FileUploaded] File:', file, "Info:", info);
        }
    }
});

console.log("Ordre: " + ordreibruk + ". Mode: " + m)

$("#divOpplaster").dialog(
{
    autoOpen: false,
    width: 650,
    show: "fade",
    hide: "fade"
})

$("#divOpplaster").dialog("open")

// Client side form validation
$('form').submit(function(e)
{
    var uploader = $('#uploader').plupload('getUploader');

    // Files in queue upload them first
    if (uploader.files.length > 0)
    {
        // When all files are uploaded submit form
        uploader.bind('StateChanged', function()
        {
            if (uploader.files.length === (uploader.total.uploaded + uploader.total.failed))
            {
                $('form')[0].submit();
            }
        });

        uploader.start();
    }
    else
    alert('Du må velge minst én fil for opplasting.');

    return false;
});
}

$('form')。submitセクションにもこれを追加しようとしました。

uploader.bind('BeforeUpload', function(up)
    {
    up.settings.multipart_params =
    {
        'ordre': ordreibruk,
        'mode': m
    };

});

しかし、役に立たない。

私は本当に単純な何かを見落としていると確信していますが、何ですか?

よろしく、アンダース

4

2 に答える 2

4

パラメータをクエリ文字列パラメータとしてURLに配置するために使用することを告白する必要があります。

  • 初期化中:url: '/upload.aspx?id='+Id,
  • またはそれ以降:upldr.settings.url = upldr.settings.url + '&token=' + myToken;

正常に動作します。これがお役に立てば幸いです

于 2012-11-14T15:55:36.560 に答える
0

同じ問題がありました。私のプロジェクトで機能するcoffescriptにも簡単に変換できるこのスニペットに出くわしました。初期化後にマルチパートパラメータを渡すことができます(アップロードがヒットする前にフィールドが変更される可能性がある場合など)

var myUploader = $('#uploader').plupload('getUploader');
myUploader.bind('BeforeUpload', function(up, file) {
    up.settings.multipart_params = {path : $("#path").val()};
});

$( "#divOpplaster")。plupload(...)の通常の初期化とセットアップを行った後で呼び出します(もちろん、IDをアップローダーフィールドに適切に設定します)

于 2015-03-01T03:09:10.537 に答える