Extjs上傳文件時提示下載.action文…

在使用Extjs上傳文件時提示下載.action文件的解決辦法:
 示例如下:
   me.getFormPanel().form.submit({
        url : 'document/update.do',
        method : 'post',
        
success : function(form1,action) {
            me.close();
         },
       failure : function(
form1,action){
           
     }
  });
在提交表單上傳文件時後臺會返回一個處理結果,如果返回的結果是一個json格式的字符串在某些瀏覽器下就會出現提示下載.action文件的彈出框,此時可檢查後臺代碼,查看後臺response返回的ContentType的屬性值,一般將ContentType的只設置爲text/html;charset=utf-8即可,
如:response.setContentType("text/html;charset=utf-8");

以下是關於response.setContentType()的參數及作用:

response.setContentType(MIME)的作用是使客戶端瀏覽器,區分不同種類的數據,並根據不同的MIME調用瀏覽器內不同的程序嵌入模塊來處理相應的數據。
例如web瀏覽器就是通過MIME類型來判斷文件是GIF圖片。通過MIME類型來處理json字符串。

Tomcat的安裝目錄\conf\web.xml 中就定義了大量MIME類型 ,可以參考。
response.setContentType("text/html; charset=utf-8"); html
.setContentType("text/plain; charset=utf-8"); 文本
text/javascript json數據
application/xml 
xml數據

這個方法設置發送到客戶端的響應的內容類型,此時響應還沒有提交。給出的內容類型可以包括字符編碼說明,例如:text/html;charset=UTF-8.如果該方法在getWriter()方法被調用之前調用,那麼響應的字符編碼將僅從給出的內容類型中設置。該方法如果在getWriter()方法被調用之後或者在被提交之後調用,將不會設置響應的字符編碼,在使用http協議的情況中,該方法設置 Content-type實體報頭。
一般在Servlet中,習慣性的會首先設置請求以及響應的內容類型以及編碼方式:
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");


response.setContentType()的String參數及對應類型

 value="image/bmp">BMP   
 value="image/gif">GIF   
 value="image/jpeg">JPEG   
 value="image/tiff">TIFF   
 value="image/x-dcx">DCX   
 value="image/x-pcx">PCX   
 value="text/html">HTML   
 value="text/plain">TXT   
 value="text/xml">XML   
 value="application/afp">AFP   
 value="application/pdf">PDF   
 value="application/rtf">RTF   
 value="application/msword">MSWORD   
 value="application/vnd.ms-excel">MSEXCEL   
 value="application/vnd.ms-powerpoint">MSPOWERPOINT   
 value="application/wordperfect5.1">WORDPERFECT   
 value="application/vnd.lotus-wordpro">WORDPRO   
 value="application/vnd.visio">VISIO   
 value="application/vnd.framemaker">FRAMEMAKER   
 value="application/vnd.lotus-1-2-3">LOTUS123


MIME映射策略就是在網頁中使用哪個應用程序(即插件),打開哪種文件。另外還有使用權限問題。比如對PDF文檔,用“application/pdf“策略。這在動態網頁中很常見。出現這種現象,有兩種情形:一是使用一個應用程序去打開它不能打開的文檔,比如用在標籤中定義“DWG”文檔用“application/pdf”,就會出現無法打開的問題。二是文件擴展名符合要求,但文件內容(格式)不符合要求。你可以檢查你瀏覽的網頁源代碼,獲得出錯信息。檢查方法是:查看—源文件。尋找類似於“application/pdf “的字符串,就可以看到,要打開的文件是否與應用程序匹配。 追問 如果不相匹配如何解決回答這通常是由網頁編寫人來更改。比如:你在源文件裏面找到你要打開的文件的HTML標籤,在裏面加上應用程序即可。比如,你要在網頁上打開一個PDF文檔,找到PDF文檔那一行,在HTML標籤里加上 type=“application/pdf “ 就可以了。


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