使用服务器下载图像并服务于前端

问题描述:

我遇到了试图从S3(Converting Image URL to base64 - CORS issue)中提取图像的CORS问题。使用服务器下载图像并服务于前端

我正在使用图像几秒钟,而我正在生成PDF文件。有没有一种方法可以让Meteor下载图像并服务几秒钟,以便我可以解决CORS问题?

我不能让流星一直为图像提供服务,因为有很多这样的图像,并且他们会针对不同的报告进行更改。

+1

为什么解决不了你的问题CORS?如果它是你的水桶,你可以控制它。你可以让你的Node.js应用程序代理图像并添加适当的标题,但是解决根本问题会更好。 – Brad

+0

我试过了。我设置了“AllowedOrigins”选项,但是随机它只会在某些图像上失败(但可用于同一批次中的其他人) – m0ngr31

我最终得到周围的CORS问题做这个:

import { request } from "meteor/froatsnook:request"; 

Meteor.methods({ 
    convertImage: function(imageUrl) { 
     try { 
     var result = request.getSync(imageUrl, {encoding: null}); 
     return 'data:image/png;base64,' + new Buffer(result.body).toString('base64'); 
     } catch(e) { 
     throw new Meteor.Error("cant-download", "Error: Can't download image."); 
     } 
    } 
});