首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重新翻译来自其他网站的图片(隐藏源URL)

如何重新翻译来自其他网站的图片(隐藏源URL)
EN

Stack Overflow用户
提问于 2019-10-26 21:19:43
回答 1查看 36关注 0票数 1

我有一个像thisthat这样的图像链接。

我正在尝试重新翻译这个图片从其他来源的网址到一些链接,f.e http(s)://examplewebsite.com/john。因此,它不需要是重定向,而是在不同的链接上“显示”图像。我试过使用express.static,但它不起作用。

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-26 22:59:18

如果我理解正确的话,您有您的express服务器,并且您希望在响应中包含外来图像,同时隐藏源url。

在最简单的形式中,每当有人请求您的页面时,您将获取所需的图像,将其编码为base64,并将此base64作为img的src包含在内。

代码语言:javascript
复制
const express = require('express')
const fetch = require('node-fetch')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  fetch('https://www.gravatar.com/avatar/fdb4d2674d818861be4a4139469ebe59?s=48&d=identicon&r=PG&f=1')
    .then(res => res.buffer())
    .then(buffer => {
      res.send(`
      <!doctype html>
      <html lang="en">
      <head>
      <meta charset="UTF-8">
         <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
             <meta http-equiv="X-UA-Compatible" content="ie=edge">
         <title>Document</title>
      </head>
      <body>
        <p>hello</p>
        <img src="data:image\png;base64, ${buffer.toString('base64')}" alt="image">
      </body>
      </html>
  `)
    })

})

app.listen(port, () => console.log(`Example app listening on port ${port}!`))

理想情况下,您应该为这些映像创建一个单独的端点,并将其缓存(在内存或硬盘上),以避免每次需要时都重新下载它们

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58571150

复制
相关文章

相似问题

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