1. 程式人生 > >jQuery.Ajax下載檔案

jQuery.Ajax下載檔案

下面是一個使用外掛原始碼的簡單用例演示。 演示頁面包含了許多其他的'更好的使用者介面'示例。

$.fileDownload('some/file.pdf').done(function(){ alert('File download a success!');}). fail(function(){ alert('File download failed!');});

你不能,也不需要通過Ajax進行這裡操作。 只使用

window.location="download.action?para1=value1...."

1 。不受框架影響的:Servlet下載檔案作為附件

<!-- with JS -->
<ahref="javascript:window.location='downloadServlet?param1=value1'"> download </a><!-- without JS --><ahref="downloadServlet?param1=value1"> download</a>

2.Struts2 框架︰行動下載檔案作為附件

<!-- with JS --><ahref="javascript:window.location='downloadAction.action?param1=value1'"
> download </a><!-- without JS --><ahref="downloadAction.action?param1=value1"> download</a>

最好是使用 <s:a> 標記指向 OGNL<s:url>url建立標籤:

<!-- without JS, with Struts tags: THE RIGHT WAY --><s:urlaction="downloadAction.action"var="url"><s:paramname="param1"
>value1</s:param></s:ulr><s:ahref="%{url}"> download</s:a>

在上述情況下,需要Content-Disposition響應頭,指定需要下載的檔案( attachment ) ( inline ) 而不是開啟的瀏覽器。需要指定內容型別,你可能希望新增檔名和( 幫助瀏覽器繪製真實的progressbar ) 長度。

例如下載ZIP時:

response.setContentType("application/zip");
response.addHeader("Content-Disposition","attachment; filename="name of my file.zip"");
response.setHeader("Content-Length", myFile.length());//or myByte[].length...

直接與 Struts2 ( 除非你將這裡操作用作一個 Servlet,否則將使用一個 hack 作為直接流編輯器,例如), 你不需要寫任何響應,僅僅使用流結果型別 struts.xml 和配置它將工作: 示例

<resultname="success"type="stream"><paramname="contentType">application/zip</param><paramname="contentDisposition">attachment;filename="${fileName}"</param><paramname="contentLength">${fileLength}</param></result>

3 。框架不可知(/Struts2 框架): Servlet(/Action) 在瀏覽器中開啟檔案

如果你想在瀏覽器裡開啟檔案,下載它,而是在 Content-disposition必須設定為內聯,但目標不能當前視窗位置;你必須目標javascript建立的一個新視窗,一個 <iframe> 頁面,或建立一個新視窗 on-the-fly"討論過"target="_blank":

<!-- From a parent page into an IFrame without javascript --><ahref="downloadServlet?param1=value1"target="iFrameName">
 download
</a><!-- In a new window without javascript --><ahref="downloadServlet?param1=value1"target="_blank">
 download
</a><!-- In a new window with javascript --><ahref="javascript:window.open('downloadServlet?param1=value1');"> 
 download
</a>

相關推薦

jQuery.Ajax下載檔案

下面是一個使用外掛原始碼的簡單用例演示。 演示頁面包含了許多其他的'更好的使用者介面'示例。 $.fileDownload('some/file.pdf').done(function(){ alert('File download a success!');}).

jquery ajax下載 檔案 思路

1.   因為  ajax   反回的資料是xml、text、json、html  等型別  而沒有  io (流)   所以不能直接下載 思路 是:    跳轉  到一個action 1 取到地址     跳轉的另一個  action 2  的地址把引數帶上   在ac

jquery ajax檔案Excel解析上傳

------jsp 前臺-------------------- <form  id="importOrderFrom" name="importOrderFrom"  method="post" enctype="multipart/form-data">&nb

怎麼用ajax下載檔案

可能大家都覺得沒有必要用ajax來下載東西,用window.open(url)就可以搞定 但是這有一個問題,就是這就限定了只能用GET方式來請求了; 可能你又會說GET很符合REST的要求呀。 但是如果你用jwt來做身份驗證呢? 這意味著你需要在Window.open時帶上自定義的Request He

jquery ajax提交檔案簡單處理

在ajax的提交方式中有兩種 get post方式 普通的文字引數傳遞後臺,get post 均可(post需要特殊處理),然後檔案的上傳只能通過post方式,這就造成,在普通的檔案上傳form中,servlet用getParamter()方法是取不到值的,其它框架未試驗;此時需要對普通文字引數

ajax下載檔案

直接上程式碼 $('#download').on('click', function () { $('<form action="./download?method=download

瀏覽器js、jquery實現下載檔案

錯誤案例: $.get("http://127.0.0.1:29000/download",{selectPath:path}); 這確實是個傳送get請求的方法(selectPath是引數名稱,path是引數資料),然而這樣傳送資料到後臺,是無法返回下載的,而是直接向瀏覽器傳送

jquery ajax 無法下載檔案

var form = $("<form>"); form.attr('style','display:none'); form.attr('target',''); form.attr('method','post'); form.attr('action','excelEx

SpringMVC和jQueryAjax簡單檔案上傳下載示例

準備工作:  前端引入:1、jquery,我在這裡用的是:jquery-1.10.2.min.js          2、ajaxfileupload.js  這裡可能會報一些錯,所以在json判斷那裡修改為(網上也有):  Js程式碼  

AjaxFileUpload檔案上傳元件 php jQuery ajax

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

JQuery ajax提交form表單實現檔案上傳

<!DOCTYPE html> <html> <head>     <title></title>     <script src="https://cdn.bootcss.co

轉載ajax 請求不能下載檔案

$('#fileexcel').unbind('click').bind('click',function(){          alert("我要下載了");          $.ajax({                        type:'post',

spring mvc 避免IE執行AJAX時,返回JSON出現下載檔案

<!-- 避免IE執行AJAX時,返回JSON出現下載檔案 --> <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.M

Spring MVC IE瀏覽器在執行AJAX時,返回JSON出現下載檔案

用Spring MVC開發的介面,在IE瀏覽器中使用Ajax請求介面,返回JSON出現了下載檔案的對話方塊,此時需要在Spring-MVC.xml中需要新增一項配置。<!-- 採用SpringMVC自帶的JSON轉換工具,支援@ResponseBody註解 --> <bean class

使用jqueryajax提交檔案上傳。FormData, beforeSend

以前的專案大多的使用jquery的外掛來進行檔案上傳,對於就只引用jquery而不使用外掛來上傳檔案之前未有寫過,最近專案裡有寫到和用到,就記錄一下,以後方便查詢。 提示:存在瀏覽器皆容問題,謹慎使用。 HTML程式碼: <form id="infoLogoForm" enc

ajax get請求 下載檔案

exportExl(url,name){ axios.get(url).then(res => { const BOM =

Ajax處理下載檔案response沒有反應

要實現下載Excel的功能,思路很簡單,後臺servlet根據資料庫的資料生成Excel儲存在指定位置,然後儲存到response的輸入流中,最後將零時的Excel刪除: .... //省略poi生成Excle的過程 .... response.setHea

spring mvc + ajax實現無重新整理下載檔案

JQuery的ajax函式的返回型別只有xml、text、json、html等型別,沒有“流”型別,所以我們要實現ajax下載,不能夠使用相應的ajax函式進行檔案下載。但可以用js生成一個form,用這個form提交引數,並返回“流”型別的資料。在實現過程中,

解決ajax請求不能下載檔案

我們在使用ajax請求去向服務端下載檔案時,我們通常從服務端拿到的只是一個字串,jquery自動的將檔案中的內容解析為字串傳給我們,此時,我們便不能再使用jquery的ajax請求來下載檔案 我們可以做如下操作來使用表單提交的方法來獲取下載檔案(推薦): function downloa

Ajax請求下載檔案

以前我這樣做,現在感覺很low: window.location.href = "http://127.0.0.1:8080/wx-sr-api/xxx/export"; 現在可以這樣做,直接上程式碼,我這裡貼的是AngularJS的HTTP請求函式,a