0
我有一張圖片保存在我的節點服務器上。我需要將此圖像發送到使用PHP編寫的API。 api接受來自php的$ _FILES的文件。將圖片從節點js服務器上傳到PHP服務器
如何將文件從節點發送到PHP API,以便它可以從$ _FILES讀取。
我使用NPM 請求包發送請求
我有一張圖片保存在我的節點服務器上。我需要將此圖像發送到使用PHP編寫的API。 api接受來自php的$ _FILES的文件。將圖片從節點js服務器上傳到PHP服務器
如何將文件從節點發送到PHP API,以便它可以從$ _FILES讀取。
我使用NPM 請求包發送請求
你可以嘗試像下面也許是:
var request = require('request');
var fs = require('fs');
var data = {
file: fs.createReadStream('/path/to/my/image.jpg')
};
request.post({ url:'http://example.com/upload.php', formData:data }, function callback(err, response, body) {
if(err) {
return console.error('Failed to upload:', err);
}
console.log('Upload successful!');
});
或者,如果要創建一個頁面,允許用戶選擇照片上傳
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write('<form action="http://example.com/upload.php" method="post" enctype="multipart/form-data">');
res.write('<input type="file" name="usrfile" />');
res.write('<input type="submit" />');
res.write('</form>');
return res.end();
}).listen(8088);
在PHP服務器來處理,你可以做到這一點上傳:
<?php
/* node.js upload target ~ "upload.php" */
if(isset($_FILES)){
/* change path to suit environment */
$dir='c:/temp/fileuploads/1/';
$obj=(object)$_FILES['file'];
$name=$obj->name;
$tmp=$obj->tmp_name;
$result = move_uploaded_file($tmp, $dir.$name);
echo $result ? 'File '.$name.' ws moved to '.$dir : 'Error: Failed to save '.$name;
}
?>
謝謝......這部分工作爲我。圖像被捕獲$ _FILES。但我的代碼失敗,因爲move_uploaded_file總是返回false。沒有錯誤。我認爲這與文件沒有被php上傳的事實有關。有沒有解決這個問題? –
該文檔有一個示例:[發送表單](https://www.npmjs.com/package/request#forms) – AlexM