首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将图像写入ASHX

将图像写入ASHX
EN

Stack Overflow用户
提问于 2016-08-15 16:49:45
回答 1查看 106关注 0票数 0

我正在编辑一个旧的.NET 3.5网站,需要它下载一个图像,然后提供给一个请求。基本上是一次传球。

数据以正确的大小发送,但图像不出现。

代码语言:javascript
复制
public class AppImageHandler : IHttpHandler
{

    public void ProcessRequest(HttpContext context)
    {
        var url = "http://static.idolator.com/uploads/2015/10/adele-hello.jpg";

        HttpWebRequest imageRequest = (HttpWebRequest)WebRequest.Create(url);
        WebResponse imageResponse = imageRequest.GetResponse();
        Stream responseStream = imageResponse.GetResponseStream();

        byte[] buffer = new byte[imageResponse.ContentLength];
        int read;
        Stream output = new MemoryStream();
        while ((read = responseStream.Read(buffer, 0, buffer.Length)) > 0)
        {
            output.Write(buffer, 0, read);
        }
        responseStream.Close();

        HttpResponse r = context.Response;
        r.ContentType = "image/jpg";
        r.BinaryWrite(buffer);

    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-15 17:00:12

我没看完整条小溪。

我用这个来获取完整的字节数组,然后它就可以工作了。

代码语言:javascript
复制
public static byte[] ReadFully(Stream input)
{
 byte[] buffer = new byte[16*1024];
 using (MemoryStream ms = new MemoryStream())
 {
    int read;
    while ((read = input.Read(buffer, 0, buffer.Length)) > 0)
    {
        ms.Write(buffer, 0, read);
    }
    return ms.ToArray();
 }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38959358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档