文件上傳無效,而且提交后,經(jīng)常引起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"); // 后臺處理
}
環(huán)境:java 、struts2、tomcat,使用weboffice6.0.5.0。
現(xiàn)象:使用如上代碼weboffice控件模擬http提交后,tomcat端未產(chǎn)生臨時文件,我的后臺處理程序也就無從處理。另外:以上代碼執(zhí)行后,再點擊其他鏈接經(jīng)常會引起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收到瀏覽器數(shù)據(jù)!</font>");
s.close();
ss.close();
}
}
前臺調(diào)用代碼如下(確定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測試提交上來的數(shù)據(jù)
}
服務器端收到的數(shù)據(jù)如下:
- 代碼: 全選
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文檔沒有數(shù)據(jù)提交上來!!!哪位大俠幫個忙??
- 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>
由于頁面的代碼比較多,沒有使用刪除代碼的方式調(diào)試,而問題恰恰就是代碼沖突引起。我想可能是提交前控件需要產(chǎn)生臨時文件,需要打開關(guān)閉word,而又恰恰禁止了word的關(guān)閉功能,使得無法產(chǎn)生臨時文件。只能不要禁用word的close按鈕功能了。
- shengtao
-
- 帖子: 5
- 注冊: 2014年 3月 25日 16:22 星期二
頁首
Re: 文件上傳無效,而且提交后,經(jīng)常引起IE重啟?
由 w521286 » 2014年 6月 24日 11:07 星期二
已解決
- w521286
-
- 帖子: 2
- 注冊: 2014年 6月 24日 10:58 星期二
頁首
Re: 文件上傳無效,而且提交后,經(jīng)常引起IE重啟?
由 sunshine » 2015年 4月 28日 16:15 星期二
我也遇到這種問題了, ie8+win7, 根據(jù)你的修改不禁用關(guān)閉按鈕, 反省word還是沒法上傳
- sunshine
-
- 帖子: 2
- 注冊: 2015年 4月 27日 18:05 星期一