【问题标题】:Scala Lift - AJAX uploader (valums) not accepting IE9 file uploadScala Lift - AJAX 上传器(值)不接受 IE9 文件上传
【发布时间】:2012-06-11 08:28:11
【问题描述】:

我有以下几点:

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) =>

}

我是否缺少或需要做些什么才能使其正常工作?

提前感谢您的帮助,非常感谢:)

【问题讨论】:

    标签: ajax scala file-upload upload lift


    【解决方案1】:

    首先,req.body 会给你一个字节数组,而不是一个文件。 Lift 将自动检测您是否正在上传文件或任意有效负载。将文件放入内存不是一个好主意,尤其是当它们可能很大时。

    查看req.uploadedFilesreq.rawInputStreamOnDiskFileParamHolder.apply - 如果我记得vallums 上传器的工作原理,您必须手动将输入流推送到FileParamHolder,您可以从中调用.file 然后有一个直接的 java.io.File 实例可以使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-12
      • 2015-12-26
      • 2012-10-02
      • 2012-03-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多