使用服务器下载图像并服务于前端
问题描述:
我遇到了试图从S3(Converting Image URL to base64 - CORS issue)中提取图像的CORS问题。使用服务器下载图像并服务于前端
我正在使用图像几秒钟,而我正在生成PDF文件。有没有一种方法可以让Meteor下载图像并服务几秒钟,以便我可以解决CORS问题?
我不能让流星一直为图像提供服务,因为有很多这样的图像,并且他们会针对不同的报告进行更改。
答
我最终得到周围的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.");
}
}
});
为什么解决不了你的问题CORS?如果它是你的水桶,你可以控制它。你可以让你的Node.js应用程序代理图像并添加适当的标题,但是解决根本问题会更好。 – Brad
我试过了。我设置了“AllowedOrigins”选项,但是随机它只会在某些图像上失败(但可用于同一批次中的其他人) – m0ngr31