Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从NodeJS服务器到PHP服务器的图像上载_Php_Node.js - Fatal编程技术网

从NodeJS服务器到PHP服务器的图像上载

从NodeJS服务器到PHP服务器的图像上载,php,node.js,Php,Node.js,我在节点服务器上保存了一个映像。我需要将此图像发送到用PHP编写的API。api从php的$\文件中接受文件 如何将文件从节点发送到PHPAPI,以便它可以从$\u文件读取 我正在使用npm请求包发送请求您可以尝试以下方法: var request = require('request'); var fs = require('fs'); var data = { file: fs.createReadStream( '/path/to/my/image.jpg' ) }; request

我在节点服务器上保存了一个映像。我需要将此图像发送到用PHP编写的API。api从php的$\文件中接受文件

如何将文件从节点发送到PHPAPI,以便它可以从$\u文件读取


我正在使用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);
var http=require('http');
http.createServer(函数(req,res){
res.writeHead(200,{'Content-Type':'text/html'});
res.write(“”);
res.write(“”);
res.write(“”);
res.write(“”);
返回res.end();
}).听(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;
    }
?>


文档中有一个例子:谢谢……这对我来说部分有效。图像将被捕获到$\u文件中。但是我的代码失败了,因为move\u上传的\u文件总是返回false。没有错误。我认为这与文件不是由php上传的事实有关。有解决这个问题的办法吗?