私はASP.netを初めて使用し、期限切れのリンクを使用して外部ドメイン(Amazon S3)から写真をロードし、OpenBinaryメソッドを使用する別のスクリプトがピックアップするためにブラウザメモリに写真を保存するのがどれほど簡単か疑問に思いました. ? これにより、画面に印刷する前にサイズを変更して透かしを入れることができます。
これが私がしたいことです:
loadImage.aspx で、DB から 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( ... );
どんな助けでも素晴らしいでしょう。