gpt4 book ai didi

c# - 如何使用 webclient 在 C# 中下载图像并使用 Javascript 从 aspx 页面获取图像

转载 作者:行者123 更新时间:2023-12-03 11:52:58 28 4
gpt4 key购买 nike

我到处都看到过这个问题的各种答案的片段,但我无法让其中任何一个发挥作用。

该代码的目的是让我可以通过 aspx 页面从互联网下载图像。因此,我将通过 Javascript 调用 aspx 页面,该页面应该提供数据,然后将其输入到 Image 元素中,但到目前为止还没有骰子。

我目前正在尝试:在 GetHotlink.aspx 页面中:

System.Net.WebClient wc = new System.Net.WebClient();
byte[] data = wc.DownloadData("http://www.html5canvastutorials.com/demos/assets/darth-vader.jpg");
Context.Response.Clear();
Context.Response.ContentType = "image/JPEG";
Context.Response.OutputStream.Write(data, 0, data.Length);
Context.Response.Flush();
Context.Response.Close();
Context.Response.End();

在 JavaScript 中:

var url = "GetHotlink.aspx";
var tmptxt = call_genpic(url); // call server with filename and minimum layer value.
var imageObj = new Image();
imageObj.setAttribute('src', 'data:image/jpeg;base64,' + tmptxt);
document.body.appendChild(imageObj);


function call_genpic(url) {
var reqObj = createRequest();
reqObj.onreadystatechange = function () {
if (reqObj.readyState == 4) {
//callback
}
}
reqObj.open("GET", url, false);
reqObj.send(null);
var V = "";
V = reqObj.responseText;
return V;
return(reqObj.responseText);
}

我可以看到,当我调用 aspx 页面时,我从服务器返回了大量数据,但我添加到 DOM 的图像显示为损坏的图像图标。没有达斯·维德!我怀疑达斯在这个过程中的某个地方进入了错误的格式,或者得到了错误的标题等等。有什么想法吗?

最佳答案

您正在使用 Base64 数据作为图像源,但您没有将响应编码为 Base64 字符串。使用this method将字节数组转换为字符串并将其作为字符串而不是二进制数据返回给客户端。

而且你的 JavaScript 代码看起来一团糟。为什么接连有两次返回。您应该创建图像并在回调中设置其数据(就在您有评论的地方)

关于c# - 如何使用 webclient 在 C# 中下载图像并使用 Javascript 从 aspx 页面获取图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25731797/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com