【发布时间】:2017-06-05 20:00:10
【问题描述】:
我在将进程从 XE8 迁移到 Berlin 10.1 时遇到问题。
在 XE8 上,它工作正常。
在柏林,我收到“加载位图失败”错误。
我有一个使用这种方法的 DataSnap REST 服务器:
function TSM.Downloafile(): TStream;
var
s: TFileStream;
begin
s := TFileStream.Create('C:\image1.jpg', fmOpenReadWrite);
Result := s;
end;
在 XE8 上,我得到了很好的流,我可以在浏览器中使用 URL 看到图像,例如:
在柏林,当我尝试显示图像时,我得到了这个字符串:
[122,216,255,244,0,15,……]
然后位图加载失败。
【问题讨论】:
-
顺便说一句,如果您不打算写作,没有理由使用
fmOpenReadWrite。在某些环境中,如果您没有给定文件夹的写入权限,这甚至可能会失败。 -
另外,我怀疑这与 Firemonkey 有关,因为您说的是从浏览器访问的 REST 服务器。我建议更改您的问题,将重点放在您的 REST 服务器返回意外格式的事实上。
-
就您的实际问题而言,我们看不到足够的相关代码。您在哪里处理请求/响应?
ContentType你传什么? -
再一边说,没有局部变量s的点,直接赋值给Result
-
我没有像我在 XE8 上所说的那样设置 ContentType 工作正常我可以看到图像,问题出在柏林,流返回一个类似 [122,216,255,244,0,15,..... .] 失败
标签: delphi bitmap firemonkey datasnap delphi-10.1-berlin