【问题标题】:Axios multipart form dataaxios 多部分表单数据
【发布时间】:2020-09-03 10:33:22
【问题描述】:

在我的后端 Node.js 代码中,我使用 Axios TypeScript 代码上传文档。但是我在使用表单数据时遇到了一个问题。有人能帮我一下吗?来自Axios documentation

  // `data` is the data to be sent as the request body
  // Only applicable for request methods 'PUT', 'POST', and 'PATCH'
  // When no `transformRequest` is set, must be of one of the following types:
  // - string, plain object, ArrayBuffer, ArrayBufferView, URLSearchParams
  // - Browser only: FormData, File, Blob
  // - Node only: Stream, Buffer

当我尝试使用FormData 时,我收到此错误ReferenceError: FormData is not defined。所以不确定如何在 TypeScript 中使用表单数据并传递给 Axios。

我不能使用来自 Node.js 的表单数据吗?

【问题讨论】:

标签: node.js typescript axios multipartform-data form-data


【解决方案1】:

我不知道你现在的情况如何,因为你没有提供任何示例,但我将与你分享一段代码,希望对你有所帮助

const data = new FormData();
data.append('filename', fileData);
axios.post(url, data);

希望对你有帮助。

【讨论】:

    【解决方案2】:

    我也遇到了同样的情况,计划是:

    使用“npm install form-data”安装 FormData 模块。

    const fs = require('fs');
    const path = require('path');
    const axios = require('axios');
    // with FormData module, you can use it now
    const FormData = require('form-data');
    var fd = new FormData();
    var filename = "example.txt";
    var filepath = "C:\\";
    var fullname = path.resolve(filepath, filename);
    var file_stream = fs.createReadStream(fullname);
    fd.append("other_param", "example");
    fd.append("filename", filename);
    fd.append("file", file_stream);
    var headers = fd.getHeaders();
    fd.getLength((err, length) => {
        if (err) {
            console.error("get file content length failed.");
            return;
        }
        headers["content-length"] = length;
        let options = axios.create({
            url: 'upload_url',
            method: 'POST',
            data: fd,
            headers: headers
        });
        ajax.request(options).then(response => {
            // success
    
        }, error => {
            // failed
    
        })
    })
    

    【讨论】:

      猜你喜欢
      • 2018-12-06
      • 1970-01-01
      • 2013-03-06
      • 2019-11-16
      • 2011-01-16
      • 2010-11-07
      • 2017-10-26
      • 2012-11-17
      • 2014-03-29
      相关资源
      最近更新 更多