2016-07-04 3 views
0

ノードを持つワードプレスサイトに画像をアップロードしようとしている 私は成功した応答を得るが、画像を見ると画像は見えない。ノードwordpressアップロードメディアが成功したが良いではない

ノードコード:一番下の行で

let wordpress = require("./wordpress"); 
 
let base64 = require('node-base64-image'); 
 
let imageType = require('image-type'); 
 

 
module.exports = function(url) { 
 

 
\t let promise = new Promise(function(resolve, reject) { 
 

 
\t \t base64.encode(url, {}, function(err, data) { 
 
\t \t \t if (err) { 
 
\t \t \t \t return reject(err); 
 
\t \t \t } 
 
\t \t \t let base64Image = data.toString('base64'); 
 
\t \t \t let imageMime = imageType(data); 
 
\t \t \t  \t \t \t 
 
\t \t \t mediaData = { 
 
\t \t \t \t type: imageMime.mime, 
 
\t \t \t \t name: 'tzook.jpg', 
 
\t \t \t \t overwrite: true, 
 
\t \t \t \t bits: base64Image 
 
\t \t \t } 
 

 
\t \t \t wordpress.uploadFile(mediaData, function(error, id) { 
 
\t \t \t \t if (error) { 
 
\t \t \t \t \t return reject(error); 
 
\t \t \t \t } 
 
\t \t \t \t return resolve(id) 
 
\t \t \t }) 
 
\t \t }); 
 
\t \t \t 
 
\t }); 
 
\t return promise; 
 
}

私は文字列自体をチェックして、それが動作することを知って、文字列をbase64エンコードを渡します。

正常な応答:

{ attachment_id: '561', 
 
    date_created_gmt: 2016-07-04T03:29:01.000Z, 
 
    parent: 0, 
 
    link: 'http://www.mmayou.com/wp-content/uploads/2016/07/tzook-4.jpg', 
 
    title: 'tzook.jpg', 
 
    caption: '', 
 
    description: '', 
 
    metadata: '', 
 
    type: 'image/jpeg', 
 
    thumbnail: 'http://www.mmayou.com/wp-content/uploads/2016/07/tzook-4.jpg', 
 
    id: '561', 
 
    file: 'tzook.jpg', 
 
    url: 'http://www.mmayou.com/wp-content/uploads/2016/07/tzook-4.jpg' }

応答がある

答えて

0

それは単にbase64文字列の代わりにバッファそのものを渡している...

コード:

//not this.... 
//let base64Image = data.toString('base64'); 
let imageMime = imageType(data); 

mediaData = { 
    type: imageMime.mime, 
    name: 'tzook.jpg', 
    overwrite: true, 
    bits: data  // but simply the buffer itself 
} 

回答:github repo https://github.com/scottgonzalez/node-wordpress/issues/44

関連する問題