簡體   English   中英

在SharePoint Webpart中,TransmitFile的行為與在純asp.net中的行為有所不同

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM