0

私は次のものを持っています:

new qq.FileUploader({

    element: $('#' + domid + ' #upload')[0],
    action: '/api/panel/upload_file',
    debug: true,
    allowedExtensions: [

        'jpg',
        'jpeg',
        'gif',
        'png',
        'bmp',
        'pdf'

    ],
    params: {

        room : 'a_room',
        module : 'a_module'

    },
    onSubmit: function(id, fileName) {

        this.params.name = fileName;

    },
    onProgress: function(id, fileName, loaded, total) { },
    onComplete : function(id, fileName, data) {

        /* FINISH */

    }

});

アップロード要求を次の宛先に送信します。

case "api" :: "panel" :: "upload_file" :: Nil Post req => {

    var response = true

    req.body match {

        case Full(file) => 

            /* DO SOMETHING */

        case _ => response = false

    }

}

これは Firefox と Chrome の両方で正常に動作しますが、IE9 でアップロードすると、ファイルが通過しないようです:

req.body match {

    case Full(file) =>

}

これを適切に機能させるために欠けているもの、または行う必要があるものはありますか?

助けてくれてありがとう、どうもありがとう:)

4

1 に答える 1

0

まず、 req.body はファイルではなくバイト配列を提供します。Lift は、ファイルまたは任意のペイロードをアップロードしているかどうかを自動的に検出します。ファイルが大きい可能性がある場合は特に、ファイルをメモリに配置することはお勧めできません。

を調べてreq.uploadedFiles、vallumsアップローダーがどのように機能するかを思い出すと、入力ストリームを .file に手動でプッシュする必要があります。そこから .file を呼び出すだけで、直接インスタンスを操作できます。req.rawInputStreamOnDiskFileParamHolder.applyFileParamHolderjava.io.File

于 2012-06-12T07:52:06.200 に答える