Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.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
Javascript 文件从express服务器上载到其他服务器(REST API)_Javascript_Node.js_Graphql_Apollo Server - Fatal编程技术网

Javascript 文件从express服务器上载到其他服务器(REST API)

Javascript 文件从express服务器上载到其他服务器(REST API),javascript,node.js,graphql,apollo-server,Javascript,Node.js,Graphql,Apollo Server,我想将图像从一台服务器上传到另一台服务器(Java)。早些时候,我在前端使用API,在那里我使用表单数据上传文件,工作正常。现在我想在nodeJS上使用相同的API来上传图像。问题是RESTAPI不接受该格式,并给出以下错误 org.eclipse.jetty.io.RuntimeIOException:java.io.IOException:缺少初始多部分边界 这是我的密码 import FormData from 'form-data'; async uploadFile(file: a

我想将图像从一台服务器上传到另一台服务器(Java)。早些时候,我在前端使用API,在那里我使用表单数据上传文件,工作正常。现在我想在nodeJS上使用相同的API来上传图像。问题是RESTAPI不接受该格式,并给出以下错误

org.eclipse.jetty.io.RuntimeIOException:java.io.IOException:缺少初始多部分边界

这是我的密码

import FormData from 'form-data';


async uploadFile(file: any): Promise<any> {
        const url = new URL(`https://dev.dummer.com/portal/file/v1/uploadFile`);
        const { createReadStream: apolloFileStream, mimetype, filename }  =  await file;
        const tempFilename = `${filename}`;
        const stream = apolloFileStream();
        const wstream = createWriteStream(tempFilename);
        await new Promise((resolve, reject) => {
            stream
                .pipe(wstream)
                .on('finish', () => resolve())
                .on('error', () => reject());
        });
        const rstream = createReadStream(tempFilename);
        const formData = new FormData();
        formData.append('uploadingFile', rstream);
        const response = await this.post(url.toString(),
            {
                data: formData
            }
        , {
            headers: {
                'Content-Type': 'multipart/form-data'
            }
        });

        return true
    }
从“表单数据”导入表单数据;
异步上传文件(文件:any):承诺{
constURL=新url(`https://dev.dummer.com/portal/file/v1/uploadFile`);
const{createReadStream:apolloFileStream,mimetype,filename}=wait file;
常量tempFilename=`${filename}`;
const stream=apolloFileStream();
const wstream=createWriteStream(tempFilename);
等待新的承诺((决定,拒绝)=>{
流动
.管道(wstream)
.on('finish',()=>resolve())
.on('错误',()=>拒绝());
});
const rstream=createReadStream(tempFilename);
const formData=new formData();
append('uploadingFile',rstream);
const response=等待this.post(url.toString(),
{
数据:formData
}
, {
标题:{
“内容类型”:“多部分/表单数据”
}
});
返回真值
}
因此,在上面的代码中,我从graphql接收文件对象,然后将文件存储在本地文件系统中,并再次读取以将其发送回API。

请尝试。。。有很多node.js上传问题。。。来自graphql的源代码并不重要