[英]TransmitFile behaves a bit different in SharePoint webpart than in plain asp.net
我總是使用以下代碼將可下載的pdf流式傳輸給我的用戶:(在純asp.net網絡應用中)
Response.Buffer = false;
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName);
Response.TransmitFile(documentPath + fileName);
Response.End();
現在,我在SharePoint 2010 Webpart中使用相同的代碼,它按預期方式工作。 唯一的問題是,下載完一個文件后,我無法單擊其他應該為我重新下載的網格列。 換句話說,我只能下載一個文件,然后必須重新加載頁面才能下載另一個文件。
誰能指出我做錯了什么(與SharePoint結合使用)?
首先,您應先沖洗並關閉響應,然后再結束
Response.Flush();
Response.Close();
另外,我還沒有在共享點中專門嘗試過它,但是如果以上方法不起作用,則可以嘗試不結束響應。
我已經搜索了幾個小時,嘗試了各種解決方案,但沒有一個真正有用。 我想弄亂響應意味着您對SharePoint的了解太多了。
我已經設置了解決方法:將代碼修改響應並將該文件傳輸到一個單獨的.aspx文件中,並使用正確的url和(加密的)參數生成一個iframe-tag,然后使用文字將該代碼注入到頁面中。 作品非常漂亮和簡單。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.