【发布时间】:2013-06-12 18:26:14
【问题描述】:
所以我正在尝试将wami-recorder 集成到我的网络应用程序中。 webapp 目前是使用 Struts2 框架构建的。
StackOverflow here 上有一个关于如何将 wami-recorder 集成到 php 站点的示例。如何使用 Struts2 实现类似的功能?看起来 wami 试图将文件发布到某个 URL。如何让 Struts2 接收这样的文件?还是有更好的方法来解决这个问题?
编辑:MMk 所以,我用 Dave 的措辞搜索谷歌并找到 this。现在,我的动作的执行方法看起来像
HttpServletRequest request = ServletActionContext.getRequest();
InputStream body = null;
try {
body = request.getInputStream();
OutputStream outputStream = new FileOutputStream("/home/test.mp3");
IOUtils.copy(body, outputStream);
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
return SUCCESS;'
但是,当我使用 wami POST 时
Wami.startRecording("http://localhost:8080/addRecording/test.wav");
我在 chrome 开发者工具中得到以下信息:
Request URL:http://localhost:8080/addRecording/test.wav
Request Method:POST
Status Code:404 Not Found
我的动作类的配置有问题吗?还是我在滥用 wami?
【问题讨论】:
-
按照uploading files in Struts 2上的指南进行操作?
-
请原谅我戴夫,因为我还是个菜鸟。该页面上的所有示例似乎都使用了 s:file 标记。我没有看到该标签可以适合此工作流程的任何地方。我的(可能是错误的)理解是 wami-recorder 将文件的原始 POST 数据推送到 URL。我如何接受这些原始数据作为操作参数?
-
你也是一个struts名人我到处都能看到你的名字
-
上传过程本身并不关心数据来自哪里,只要是正常的 HTTP 多部分请求,并且 S2 操作属性与表单数据的文件名匹配即可。只要没有狗仔队,我就可以接受名人角色,但似乎我应该进入更多俱乐部。
-
哈哈,不幸的是它不能那样工作。顺便说一句,我根据您的回复编辑了我的帖子。
标签: servlets post file-upload struts2