微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

typescript https上传文件

export const requestFormData = async(host:string,path:string,formData:any):Promise<any> =>{
    return new Promise( async (resolve) => {
        const https = require('https');

        const options = {
          hostname: host,
          path: path,
          method: 'POST',
          headers:formData.getHeaders()
        };

        const req = https.request(options, (res) => {
          console.log('statusCode:', res.statusCode);
          console.log('headers:', res.headers);
          let data = "";  
          res.on('data', (d) => {
            return data+=d;
          });
          
          res.on('end', (d) => {
            let jsonData:any = {}
            try{
                jsonData = JSON.parse(data);
            }catch (e){
                return resolve({code:-1,msg:`${e}`})
            }
                return resolve(jsonData)
          });
          
        });

        req.on('error', (e) => {
          console.error(e);
        });
        formData.pipe(req);
        //req.end();
    });
}

export const requestFile = async(host:string,path):Promise<any> =>{
    return new Promise( async (resolve) => {
        const FormData =require('form-data');
        const formData = new FormData();
        const filename="./test.txt"

        // 1.先将字符串转换成Buffer
        const fileContent = Buffer.from("hello");
        // 2.补上文件Meta信息
        formData.append(filename, fileContent, {
        filename,
        contentType: 'text/plain',
        kNownLength: fileContent.byteLength
        });
        //const fs = require("fs");
        //formData.append("template",fs.createReadStream('./test.txt'))

        let response = await requestFormData(host, path,formData)
        return resolve(response);

    });
}

  

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐