如何从ServiceStack查询返回图像
本文关键字:返回 图像 查询 ServiceStack | 更新日期: 2023-09-27 18:22:02
我有一个有效的解决方案,尽管我怀疑有更有效的方法。。。最终的结果是主题的照片被显示在网页上。为了实现这一点,我有一个ServiceStack服务,它返回一个字节数组,我将其提供给一个HttpHandler,该HttpHandler获取字节数组并将其转换为图像。通过这种方式,我可以将图像的src设置为http://www.mydomain.com/httphandler.ascx?id并且将显示特定人物的图像。我希望可以绕过HttpHandler,使用ServiceStack将图像返回到网页。我找不到任何好的例子,但我相信我读到ServiceStack可以做到这一点。这可能吗?
关于服务返回类型的文档展示了如何返回图像响应,这些技术在ServiceStack的imgur.ServiceStack.net演示中使用。
另一种解决方案是让像nginx这样的工业级Web服务器来提供静态文件,从而完全避免ServiceStack、ASP.NET或任何托管.NET代码,这可以通过写入静态文件并重定向到它来实现。
这就是如何配置nginx为/img/
中的所有静态文件提供服务,并向具有常见web格式文件扩展名(ico|pdf|flv|swf|exe|txt|css)的静态文件添加缓存头:
server {
listen 0.0.0.0:80;
server_name myserver.net;
root /home/src/myserver.net;
location /img/ {
alias /home/src/myserver.net/img/;
}
location ~* '.(ico|pdf|flv|swf|exe|txt|css) {
add_header Cache-Control public;
add_header Cache-Control must-revalidate;
expires 1d;
}
location / {
index index.html index.htm index.aspx default.htm default.aspx;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}