play框架中不同浏览器的文件上传

2023-12-24

我正在使用 play 框架来构建一个网站。我还使用了一个名为xheditor http://code.google.com/p/xheditor/.

Xheditor支持ajax文件上传,它需要服务器端有一个接受包含上传文件的“filedata”参数的操作。

所以我写了一个上传动作:

public class Application extends Controller {
    public static void upload(File filedata) { 
        // the filedata should not be null
        renderText("{'err':'', 'msg':{'ur':'/uploaded/xxx.zip'}}"); 
    } 
}

它在 IE6 中工作正常,文件数据不为空并且包含正确的数据。但是,如果我使用 chrome 或 firefox,文件数据是null!!

我使用firebug来监控firebug提交的内容,发现它提交了这样的标题:

content-disposition
attachment; name="filedata"; filename="051111twdns.zip"

我认为play没有正确处理这种情况,因此参数“filedata”为空。

为了与 chrome 和 firefox 配合使用,我修改了该操作:

public class Application extends Controller {
    public static void upload(File filedata) { 
        if(filedata!=null) {
            // ok, it's IE6
            renderText("{'err':'', 'msg':{'ur':'/uploaded/xxx.zip'}}"); 
        } else {
            // it's chrome or firefox, the data is in request.body
            File targetFile = new File("upload/test.zip");
            IOUtils.copy(request.body, new FileOutputStream(targetFile));
        }
    } 
}

现在可以在 IE6、chrome 和 firefox 中使用,BUT,仅当上传文件非常小时。例如。小于4K。如果它大一点,例如12K,“IOUtils.copy”方法会报“Read Error!”,甚至下面的代码也会报这样的错误:

request.body.available()
request.body.read()
request.body.read(bytes)

尝试将您的网站与文件上传器集成,其中有大量不同语言的文档/示例 www.uploadify.com/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

play框架中不同浏览器的文件上传 的相关文章

随机推荐

  • 具有活动记录的 Rails 控制台中的线程在数据库中找不到模型

    我正在使用 Rails 3 和 Ruby 1 9 我在各种 Rails 测试 以及控制台 中运行两种方法 这些方法被称为index cases and index new cases方法体如下所示 的内容index new cases方法可
  • 在 woocommerce 中下载订单报告的 SQL 查询

    请帮助完成此任务 我需要下载 csv 格式的 woocommerce 订单报告 为此我进行了以下查询 header Content Type text csv charset utf 8 header Content Disposition
  • Eigen 库 - 矩阵的伪逆(Matlab - pinv)

    我正在尝试使用特征库找到矩阵的伪逆 他们有一个类确实实现了它 但是我不知道如何编写脚本语法 这是它在网站上显示的方式 https eigen tuxfamily org dox classEigen 1 1CompleteOrthogona
  • 过滤DataTable中的空字符串

    如何过滤DataTable中的空字符串 我需要过滤一列 例如名称为 string Empty 的客户名称 我尝试过这个 但我无法进入正确的方式 我需要通过过滤 DataViewDataView RowFilter 那么如何给出过滤字符串st
  • 如何使用word2vec获取给定单词的单词嵌入向量和上下文向量?

    from gensim models import word2vec sentences word2vec Text8Corpus TextFile model word2vec Word2Vec sentences size 200 mi
  • Android - 以编程方式将项目添加到列表视图

    我正在尝试在 android 中创建一个待办事项列表 其中每个项目都是一个复选框 我希望能够在用户 我 添加新任务时以编程方式更新项目列表 有什么建议可以帮助我完成这个任务吗 按照建议记事本教程 http developer android
  • 将一条二次贝塞尔曲线一分为二

    所以我有一个假想的圆 分为多个部分 为了简单起见 我使用 8 但最终 我想将其分为 16 或 32 部分 然后我有 N 条二次贝塞尔曲线 位于两个最近的线段之间 它可以位于圆上或远离中心 但不能比圆更近 我知道如何找到 在巫术线中我应该寻找
  • 官方 kubernetes 教程中的 Ingress 无法正常工作

    我正在关注这个官方的 k8 ingress 教程 https kubernetes io docs tasks access application cluster ingress minikube 但是我无法curlminikube IP
  • Kubernetes Cron Job 在创建下一个计划之前终止 Pod

    我有一个 Kubernetes Cron Job 每 5 分钟运行一次计划任务 我想确保在下一个计划时间创建新的 pod 时 较早的 pod 应该已终止 较早的 Pod 应在创建新 Pod 之前终止 Kubernetes 可以在创建新的 p
  • tr 命令无法直接输出?

    我有一个文件 file txt 女巫有这些条目 NY LA SF 我运行命令 tr n 我需要将所有这些输出放在同一个 file txt 文件中 因此我像这样重定向了输出 tr n 文件 txt 但它没有在 file txt 中放入任何内容
  • lodash:如何压缩具有值的对象数组

    我正在研究如何使用 lodash 压缩具有值的对象数组 包括每个值的新键 尝试过zip https lodash com docs zip zip对象 https lodash com docs zipObject and map http
  • 为什么“string”被认为是“String”的简化版本?

    在C 中我通常使用String当我使用一种方法时string声明变量时 我在其他地方读到这是保持事物清洁的首选方法 这对我来说很有意义 在 Visual Studio 2015 中 当我使用时 我收到了一条以前没有收到过的新消息String
  • 使用 Retrofit 上传图像时出现 FileNotFoundException

    我尝试使用 Retrofit 上传图像 但收到此错误 Unable to submit post to API java io FileNotFoundException document image 30231 open failed E
  • 在plug-in.xml中如何将文件扩展名与eclipse插件中的特定类型编辑器关联

    我正在开发一个 Eclipse 插件 其中当扩展名为 cert 的文件与某种类型的编辑器关联时 该编辑器的实现在 RateBuilderEditor java 中 我想 我必须在plugin xml中提到这一点 我该如何实现这一目标 这个E
  • ASN.1 编译器错误标记“SYNTAX”意外

    我目前正在尝试编译 ASN 1 代码片段 它看起来如下 RFC1213 MIB DEFINITIONS BEGIN IMPORTS experimental FROM RFC1155 SMI OBJECT TYPE FROM RFC 121
  • PostGIS 2.0.0安装GEOS问题

    尝试在 Ubuntu 11 10 上安装 PostGIS 2 0 0 我基本上遵循了此处找到的 OSGeo 说明 http trac osgeo org postgis wiki UsersWikiPostGIS20Ubuntu1110sr
  • 在 Networkx 图中绘制沿着其边缘的标签

    在使用 Networkx 时 我有几条边需要以不同的方式显示 为此 我使用连接样式 有些边是直线 有些是 Arc3 问题是每条边都有一个标签 并且标签不遵循这些样式中的边 我借用了一张图作为例子 usr bin env python3 im
  • F# WPF:处理列表框中的单击事件

    我正在尝试使用 F 和 WPF 创建一个简单的任务调度程序 它基本上只是一个任务列表 其中每个任务都有一个 删除 按钮 处理列表之外的按钮点击不是问题 这可以使用常规命令来处理 但是处理按钮点击in该列表项并不简单 我尝试使用描述的 Rel
  • 如何集成 Firefox 同步?

    Firefox 4 即将推出 好吧 明年 并且有一个 Firefox 插件可以将您的书签等与 Firefox 3 同步 我想知道是否有人有一个全面的 最新的教程来将 Firefox Sync 集成到您自己的插件中 或者对此有什么想法吗 我主
  • play框架中不同浏览器的文件上传

    我正在使用 play 框架来构建一个网站 我还使用了一个名为xheditor http code google com p xheditor Xheditor支持ajax文件上传 它需要服务器端有一个接受包含上传文件的 filedata 参