久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

從Delphi REST服務(wù)器返回圖像并顯示在瀏覽器中

 quasiceo 2017-06-15
2014-05-06 22:46 1521人閱讀 評論(0) 收藏 舉報
 分類:
 

當你使用文件流對象從Delphi的REST服務(wù)器返回圖像時,,它不會正常顯示在瀏覽器中,如下例:

[delphi] view plain copy
 在CODE上查看代碼片派生到我的代碼片
  1. function TServerClass.Image: TFileStream;  
  2. begin  
  3.   Result := TFileStream.Create('pathtofile\image.png', fmOpenRead or fmShareDenyNone);  
  4. end;  

這是因為Delphi REST服務(wù)器總是將返回內(nèi)容的類型設(shè)置為text/html,,這就導致你返回其它類型時瀏覽器不能加以區(qū)分,,這是一個bug,因為大多數(shù)的返回內(nèi)容為json,,這就意味著返回內(nèi)容的類型應(yīng)該為applicatilon/json,。所幸在服務(wù)器方法中我們可以改寫返回內(nèi)容的類型。

為此你需要引用"Data.DBXPlatform"單元,,它包含一個名為GetInvocationMetadata的方法,,它能夠訪問目前正在構(gòu)建的返回響應(yīng)對象,它返回一個TDSInvocationMetadata對象,,它有一個名為ResponseContentType的屬性,。設(shè)置這個屬性將會改寫HTTP響應(yīng)容的頭部Content-Type的值,。上面的例子可以改寫為

[delphi] view plain copy
 在CODE上查看代碼片派生到我的代碼片
  1. function TServerClass.Image: TFileStream;  
  2. begin  
  3.   Result := TFileStream.Create('pathtofile\image.png', fmOpenRead or fmShareDenyNone);  
  4.   GetInvocationMetadata.ResponseContentType := 'image/png';  
  5. end;  

現(xiàn)在,返回的圖像就可以在瀏覽器中正常顯示了,。


http:///questions/13879238/return-an-image-from-a-delphi-rest-server-and-show-it-in-a-browser/13879240#13879240

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多