Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.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
Javascript Meteor js,React自定义图像重定向/Meteor WebApp_Javascript_Reactjs_Meteor_Web Applications - Fatal编程技术网

Javascript Meteor js,React自定义图像重定向/Meteor WebApp

Javascript Meteor js,React自定义图像重定向/Meteor WebApp,javascript,reactjs,meteor,web-applications,Javascript,Reactjs,Meteor,Web Applications,嗨,伙计们 我尝试对meteor中的图像进行自定义重定向,这样我就可以使用更短的自定义链接将我重定向到亚马逊中上传的图像: WebApp.connectHandlers.use(function(request, response, next) { if (~request._parsedUrl.path.indexOf('/image') > -1) { response.writeHead(301, { Location:

嗨,伙计们

我尝试对meteor中的图像进行自定义重定向,这样我就可以使用更短的自定义链接将我重定向到亚马逊中上传的图像:

WebApp.connectHandlers.use(function(request, response, next) {
      if (~request._parsedUrl.path.indexOf('/image') > -1) {
        response.writeHead(301, {
          Location:
            'https://s3.eu-central-1.amazonaws.com/my-prepo/folder/imageName123456.jpg',
        });
        response.end();
      }
      next();
    });
我可以在外部页面(如JSFIDLE)中很好地使用它,只要我写:

<img src="http://localhost:4003/image" />
我能做些什么来使用我自己的链接来显示像
这样的图像

非常感谢你的建议 顺致敬意,
Bukso

首先,我看到您从S3获取图像,而您可能应该通过Cloudfront获取它们。主要区别在于缓存。此外,当您将映像保存到S3时,请确保设置了“过期”和“缓存控制”,以便您的用户在本地设备上缓存映像(如果您需要)。使用Cloudfront,您可以拥有类似assets.yourdomain.com/…您的资产的链接

简单而安全的做法是声明一个全局变量,如

var IMAGE = 'https//........your cloudfront root '
在代码中,您会得到如下结果:

<img src={`${IMAGE}/${imagename}.jpg`}

如果您需要完全安全和完全“关闭”图像链接/源,您可以使用高度支持的Ostrio Files Meteor软件包

p


首先,我看到您从S3获取图像,而您可能应该通过Cloudfront获取它们。主要区别在于缓存。此外,当您将映像保存到S3时,请确保设置了“过期”和“缓存控制”,以便您的用户在本地设备上缓存映像(如果您需要)。使用Cloudfront,您可以拥有类似assets.yourdomain.com/…您的资产的链接

简单而安全的做法是声明一个全局变量,如

var IMAGE = 'https//........your cloudfront root '
在代码中,您会得到如下结果:

<img src={`${IMAGE}/${imagename}.jpg`}

如果您需要完全安全和完全“关闭”图像链接/源,您可以使用高度支持的Ostrio Files Meteor软件包

p


我解决了这样的问题:

WebApp.connectHandlers.use(function(req, res, next) {
  const reqUrlParts = req.url.split('/');
  let urlToRedirect = 0;
  if (reqUrlParts[1] && reqUrlParts[1] === 'files') {
    urlToRedirect = fileHandler.handleUrl(req);
  }
  if (urlToRedirect) {
    res.writeHead(301, {
      Location: urlToRedirect,
    });
    res.end();
  } else {
    next();
  }
});

谢谢你的建议。关于过期链接-我通过我的系统处理它,这意味着如果它过期,我会自动更新它,并重定向到新链接。

我修复了这样的问题:

WebApp.connectHandlers.use(function(req, res, next) {
  const reqUrlParts = req.url.split('/');
  let urlToRedirect = 0;
  if (reqUrlParts[1] && reqUrlParts[1] === 'files') {
    urlToRedirect = fileHandler.handleUrl(req);
  }
  if (urlToRedirect) {
    res.writeHead(301, {
      Location: urlToRedirect,
    });
    res.end();
  } else {
    next();
  }
});

谢谢你的建议。关于过期链接-我由我的系统处理,这意味着如果过期,我会自动更新它,并重定向到新的链接。

这些图像在哪里?您在哪个文件中调用img标记,以及该文件的位置?show us project folder structure图片位于amazon S3中,这是一个示例:这些图片位于何处?您在哪个文件中调用img标记,以及该文件的位置?show us project folder Structure图像位于amazon S3中,这是一个示例: