2012-09-24 48 views
1

我有一个休息电话,其工作是返回图像数据。PHP REST通过Img Src调用忽略标题?

这是

服务/图像/测试

此REST调用返回与预先设定的路径硬编码的图像。

我正在使用file_get_contents读取数据。

protected function processOutput($result, $success=false) { 
     header('Content-Type: image/'.$result->imageType); 
     echo $result->imageBytes; 

processOutput()是在REST调用之后调用以确定返回到浏览器的内容。只有上面的代码与问题相关,请不要要求粘贴在这里的项目。 :P

当我在浏览器中进行休息呼叫时,我看到了我的内容类型:image/png set。

的http:// myProject的/服务/ userImage /测试

Response Headersview source 
Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0 
Connection:Keep-Alive 
Content-Length:4363 
Content-Type:image/png 

没有像预期的那样JS错误(因为这不是浏览器来直接呈现返回任何东西(我猜的)?

这就是我看到网络选项卡做

<img src="http://myProject/service/userImage/test"/> 

返回时:

Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0 
Connection:Keep-Alive 
Content-Length:2856 
Content-Type:text/html 

为什么它忽略了我所有的标题设置? 我甚至可以把一个404头字符串,并将其仍显示为200 OK请求...... :(

是关键,这一切,这样做只是剩下的电话时我无法看到图像?

+1

描述令人困惑:现在是否指向.../service /.../ test的url返回一个图像(png)或者不是? – arkascha

+0

内容长度是不同的,你确定你的IMG SRC没有击中一个不同的文件?没有拖尾/或类似的东西? –

回答

1

解决方案: 我在我的代码中有一个PHP解析错误(遗漏了一个$),我不知道设置header()会将它隐藏起来/改变我设置的内容类型。没有消息是好消息,PHP新手!