2016-09-20 51 views
0

我遇到了試圖從S3(Converting Image URL to base64 - CORS issue)中提取圖像的CORS問題。使用服務器下載圖像並服務於前端

我正在使用圖像幾秒鐘,而我正在生成PDF文件。有沒有一種方法可以讓Meteor下載圖像並服務幾秒鐘,以便我可以解決CORS問題?

我不能讓流星一直爲圖像提供服務,因爲有很多這樣的圖像,並且他們會針對不同的報告進行更改。

+1

爲什麼解決不了你的問題CORS?如果它是你的水桶,你可以控制它。你可以讓你的Node.js應用程序代理圖像並添加適當的標題,但是解決根本問題會更好。 – Brad

+0

我試過了。我設置了「AllowedOrigins」選項,但是隨機它只會在某些圖像上失敗(但可用於同一批次中的其他人) – m0ngr31

回答

0

我最終得到周圍的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."); 
     } 
    } 
});