我是 ASP.net 的新手,想知道使用其过期链接从外部域(Amazon S3)加载照片并将照片存储在浏览器内存中以供另一个使用 OpenBinary 方法的脚本获取是多么容易? 这允许我在打印到屏幕之前调整大小并添加水印。
这就是我想要发生的事情:
在 loadImage.aspx 上,我从我的数据库中获取 photoID,为 Amazon S3 创建一个过期的签名 URL,以某种方式调用照片并将其保存到内存中。在内存中,我的 ASP.Jpeg 脚本将调用 OpenBinary 方法,调整照片大小和水印,并使用 SendBinary 方法显示照片。
我认为内存流或响应二进制写入可能是我正在寻找的东西,但不确定如何在外部照片源上使用它。这是我迄今为止所管理的,但我感到困惑并认为我会得到帮助,因为我不确定这是否会起作用,如果我可以在内存中加载外部域照片,如果我错过了一些重要的东西.. ..
我的图像元素:
<img src="loadImage.aspx?p=234dfsdfw5234234">
在 loadImage.aspx 上:
string AWS_filePath = "http://amazon............"
using (FileStream fileStream = File.OpenRead(AWS_filePath))
{
MemoryStream memStream = new MemoryStream();
memStream.SetLength(fileStream.Length);
fileStream.Read(memStream.GetBuffer(), 0, (int)fileStream.Length);
}
// Persits ASP.Jpeg Component
objJpeg.OpenBinary( ... );
// resize bits
// watermark bits
objJpeg.SendBinary( ... );
任何帮助都会很棒。