php - 图片从node js服务器上传到PHP服务器

标签 php node.js

我的 Node 服务器上保存了一个图像。我需要将此图像发送到用 PHP 编写的 API。该 API 接受来自 php 的 $_FILES 的文件。

如何将文件从 Node 发送到 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;
    }
?>

关于php - 图片从node js服务器上传到PHP服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45095221/

相关文章:

node.js - 如何在 vagrant Provision shell 中为 Node 运行永久工具

node.js - 使用 Node js 在 ubuntu 上运行 React 基本应用程序

php - 在 PHP 中维护 MySQL select 的正斜杠

php - 带有种子的 array_rand

angularjs - 使用 Angular-cli 创建新项目时出错

node.js - 在 Node 中动态导入语言环境文件

javascript - 将麦克风录音机从浏览器发送到谷歌语音到文本 - Javascript

php - 什么是正确的 laravel 语法

php - 如何解码编码的数组值

php - 如何从 URL 参数查询 API