response.write(image url)和response.binarywrite(图像数据)有什么区别?

时间:2017-09-05 19:00:11

标签: image vbscript asp-classic

我正在开发一个VBscript asp页面,该页面应该根据通过URL字符串传递给页面的ID值从我们的数据库呈现用户的照片图,以用于各种电子邮件功能。这部分很有用,使用以下代码进行渲染:

Response.ContentType = "image/jpg"
Response.BinaryWrite(rsAttPic("ind_photo_ext"))

我被要求提供默认图像,因为如果用户在数据库中没有文件存档,则会出现图像损坏图标。经过一些反复试验,我终于得到了一些工作:

if (IsNull(rsAttPic("ind_photo_ext"))) then
  Response.Write("<img src='placeholderm.png'/>")
else
  Response.ContentType = "image/jpg"
  Response.BinaryWrite(rsAttPic("ind_photo_ext"))
end if

当通过网站上的演示文稿页面(showpic.asp)进行测试时,这会有效 - 两个图像都会按预期显示,具体取决于URL中引用的记录。但是,当该页面showpic.asp被其他来源(通过活动软件发送的电子邮件,我们的CRM软件生成的确认电子邮件)引用时,只有用户图像会按预期显示。通用图像不会显示在电子邮件中,只会显示损坏的图像链接。

两种图像显示有什么区别?我在测试中注意到用户图像出现在中心的浏览器中,黑色背景一直在它周围,而默认图像出现在浏览器窗口的左上角,白色背景。这有关系吗?

0 个答案:

没有答案