GWT上傳文件

該內容網上有很多相關搜索,但是都未能解決我的問題。

 

最後還是自己動手豐衣足食了

 

首先,建立前臺頁面,這個建議根據GWT官方API上給出的例子編寫。

需要注意的是

 

form.setAction("/myFormHandler");

 

最好寫成setAction(GWT.getModuleBaseURL + "/myFormHandler")

 

再就是Servlet的編寫了,網上很多利用commons-fileupload庫的方法,這裏就不多說了

 

最後,需要注意的是,配置文件web.xml。比如上面的action的配置,假設你的網絡應用爲aaa,那麼需要在web.xml文件中添加

 

<servlet>

    <servlet-name>fileUploadServlet</servlet-name>

    <servlet-class>aaa.server.FileUploadImpl</servlet-class>

  </servlet>

 

 

<servlet-mapping>

    <servlet-name>fileUploadServlet</servlet-name>

    <url-pattern>/aaa/myFormHandler</url-pattern>

  </servlet-mapping>

 

這樣,便可以正常上傳文件了。

 

PS:文件上傳之後的處理還真是要注意下,不同的瀏覽器上傳之後的文件名居然不一樣,我用chrome測試上傳之後,到servlet就只是一個文件名,而不是全路徑;而使用IE上傳之後,居然是全路徑。原來只寫了一種,當然可想而知,肯定出錯啊。呵呵,學習了,今後還要注意下瀏覽器兼容的問題。

 

還有,就是不同操作系統中路徑分隔符的問題,原來都是使用 

 

"\\"

 

這種形式,也知道這樣不好,應該使用File.seperator來表示,但是由於一直沒有出問題所以在windows上也沒有改過。可是,今天做了一次應用的遷移,是從windows上移到linux下的。當然,又出錯了。。。然後又改源碼,真是鬱悶。

 

還有,我在使用File.pathSeperator的時候,怎麼變成 ";"了,搞了半天弄明白了,

 

File.pathSeperator中的path指的是環境變量PATH,而在windows下PATH的分隔符當然是;了,如果在linux下運行,應該就是 :

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章