文件上传无效,而且提交后,经常引起IE重启?
|
admin
2015年5月30日 11:4
本文热度 6921
|
文件上传无效,而且提交后,经常引起IE重启?
由 shengtao » 2014年 3月 25日 16:28 星期二
- 代码: 全选
function saveDoc(){
var webObj=document.getElementById("WebOffice1");
webObj.HttpInit(); //初始化Http引擎
webObj.HttpAddPostCurrFile("upload1",""); // 上传文件
var urlhead= "http://${pageContext.request.serverName}:${pageContext.request.serverPort}"; //这里需要全路径
webObj.HttpPost(urlhead+"${pageContext.request.contextPath}/flow_saveDocument.action"); // 后台处理
}
环境:java 、struts2、tomcat,使用weboffice6.0.5.0。
现象:使用如上代码weboffice控件模拟http提交后,tomcat端未产生临时文件,我的后台处理程序也就无从处理。另外:以上代码执行后,再点击其他链接经常会引起IE崩溃(客户端是win7、IE8)。
- shengtao
-
- 帖子: 5
- 注册: 2014年 3月 25日 16:22 星期二
盼望回复!!!
由 shengtao » 2014年 3月 25日 16:47 星期二
难道免费的就做不好吗?还是我的使用问题?如果真是控件问题,NTKO比较贵,看来不得不考虑一下了!
- shengtao
-
- 帖子: 5
- 注册: 2014年 3月 25日 16:22 星期二
页首
自己顶,又做了个测试,就是不提交当前编辑的文档?
由 shengtao » 2014年 3月 27日 09:03 星期四
写了一个测试的httpserver程序,代码如下:
- 代码: 全选
public class MyHttpServerTest{
public static void main(String[] args) throws Exception{
ServerSocket ss=new ServerSocket(9090);
Socket s=ss.accept();
System.out.println(s.getInetAddress().getHostAddress());
InputStream in=s.getInputStream();
byte[] buf=new byte[1024];
int len=in.read(buf);
System.out.println(new String(buf,0,len));
PrintWriter out=new PrintWriter(s.getOutputStream(),true);
out.println("<font color='green' size='6'>MyHttpServer收到浏览器数据!</font>");
s.close();
ss.close();
}
}
前台调用代码如下(确定weboffice控件可以使用,并且已从后台加载了模板文件):
- 代码: 全选
function saveDoc(){
var webObj=document.getElementById("WebOffice1");
webObj.HttpInit(); //初始化Http引擎
webObj.HttpAddPostString("aaa","11111111111111");
webObj.HttpAddPostString("bbb","22222222222222");
webObj.HttpAddPostString("ccc","33333333333333");
webObj.HttpAddPostCurrFile("upload1",""); // 上传文件
var urlhead= "http://${pageContext.request.serverName}:${pageContext.request.serverPort}"; //这里需要全路径
webObj.HttpPost("http://localhost:9090"); // 使用自定义的httpServer测试提交上来的数据
}
服务器端收到的数据如下:
- 代码: 全选
0:0:0:0:0:0:0:1
POST / HTTP/1.1
Accept: */*
Accept-Language: zh-cn
Content-Type: multipart/form-data; boundary=--MULTI-PARTS-FORM-DATA-BOUNDARY
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729)
Host: localhost:9090
Content-Length: 332
Connection: Keep-Alive
Cache-Control: no-cache
----MULTI-PARTS-FORM-DATA-BOUNDARY
Content-Disposition: form-data; name="aaa"
11111111111111
----MULTI-PARTS-FORM-DATA-BOUNDARY
Content-Disposition: form-data; name="bbb"
22222222222222
----MULTI-PARTS-FORM-DATA-BOUNDARY
Content-Disposition: form-data; name="ccc"
33333333333333
----MULTI-PARTS-FORM-DATA-BOUNDARY--
模拟的表单域可以正常提交,就是当前编辑的word文档没有数据提交上来!!!哪位大侠帮个忙??
- shengtao
-
- 帖子: 5
- 注册: 2014年 3月 25日 16:22 星期二
页首
问题解决,可能是控件的一个BUG
由 shengtao » 2014年 3月 28日 13:07 星期五
罪魁祸首是以下代码:
- 代码: 全选
<script language=javascript event=NotifyWordEvent(eventname) for=WebOffice1>
WebOffice1_NotifyWordEvent(eventname);
function WebOffice1_NotifyWordEvent(eventname) {
var webObj=document.all.WebOffice1;
//禁用Word的close按钮
webObj.lContinue=0;
}
</script>
由于页面的代码比较多,没有使用删除代码的方式调试,而问题恰恰就是代码冲突引起。我想可能是提交前控件需要产生临时文件,需要打开关闭word,而又恰恰禁止了word的关闭功能,使得无法产生临时文件。只能不要禁用word的close按钮功能了。
- shengtao
-
- 帖子: 5
- 注册: 2014年 3月 25日 16:22 星期二
页首
Re: 文件上传无效,而且提交后,经常引起IE重启?
由 w521286 » 2014年 6月 24日 11:07 星期二
已解决
- w521286
-
- 帖子: 2
- 注册: 2014年 6月 24日 10:58 星期二
页首
Re: 文件上传无效,而且提交后,经常引起IE重启?
由 sunshine » 2015年 4月 28日 16:15 星期二
我也遇到这种问题了, ie8+win7, 根据你的修改不禁用关闭按钮, 反省word还是没法上传
- sunshine
-
- 帖子: 2
- 注册: 2015年 4月 27日 18:05 星期一
该文章在 2015/5/30 11:04:15 编辑过