Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 从http golang中的字符串提供图像服务_Image_Http_Go - Fatal编程技术网

Image 从http golang中的字符串提供图像服务

Image 从http golang中的字符串提供图像服务,image,http,go,Image,Http,Go,我需要用HTTPGET显示图像,但问题是我只能使用字符串作为响应体 例如标题:image/png,主体:Aeacxxffsafencoded表示或其他任何形式 它或多或少类似于这个web,但我希望在使用http GET时将字符串输出到图像中 以下是一些代码片段说明: //string that is generated from image (encoded) encString := "iVBORw0KGgoAAAANSUhEUgAAANIAAAAzCAYAAADigVZl..." //se

我需要用HTTPGET显示图像,但问题是我只能使用字符串作为响应体

例如标题:image/png,主体:Aeacxxffsafencoded表示或其他任何形式

它或多或少类似于这个web,但我希望在使用http GET时将字符串输出到图像中

以下是一些代码片段说明:

//string that is generated from image (encoded)
encString := "iVBORw0KGgoAAAANSUhEUgAAANIAAAAzCAYAAADigVZl..."

//set http headers to png
//and assign the encString to the body
有什么办法吗?通过仅使用字符串来服务图像


对不起,如果我的问题有点让人困惑,但这是我能描述的最好的问题,我从几天前开始一直在寻找答案,这取决于你从另一方面如何解释它。 编码的b64、b32、字节数组等字符串都表示相同的字节模式。 要让它在另一面显示为图像,这一切都取决于您如何从另一面解释它

编辑:

我现在明白你的意思了。看一看这张照片

遗憾的是,我现在没有代码片段与您共享,但是有了它,您应该能够将您的图像加载到缓冲区并对其进行解码以获得image.image对象

之后,您可以使用image.image对象将其写入响应体。遗憾的是,我现在无法提供代码片段,但一定要让我知道它是否适合您

请记住设置写入程序的适当标题


w、 Header.SetContent-Type,image/jpeg

您可以像处理其他内容一样,首先对base64进行解码

func handler(w http.ResponseWriter, r *http.Request) {
    encString := "iVBORw0KGgoAAAANSUhEUgAAANIAAAAzCAYAAADigVZl..."
    bytes, err := base64.StdEncoding.DecodeString(encString)
    if err != nil {
        // todo
    }
    w.Header().Set("Content-Type", "image/png")
    _, err = w.Write(bytes)
    if err != nil {
        // todo
    }
}

但是,如果您想在浏览器中显示它而不解码,那么您必须进行一些客户端黑客操作。

我了解如何解码它,我实际上已经得到了解码字符串,但是当我尝试发送带有image/png头的解码字符串时,图像不会出现。为什么您只能发送一个字符串?您使用的是哪个库?目前我使用的是无服务器框架,它只允许我在响应体中发送字符串,我一直在寻找一种只使用字符串发送图像的方法,这不是图像服务的工作方式。在浏览器中,如果没有自定义代码首先对纯文本字符串进行解码,它将永远不会呈现为图像。我需要它显示为这样,只有可以指定字符串,而不是字节吗?由于某些原因,我只能发送字符串作为响应。不管怎样,我需要这样@DemiDust当然,你可以用io.WriteStringw,stringContent写一个字符串