【问题标题】:Sending an image to nodejs server from a flutter app从 Flutter 应用程序向 nodejs 服务器发送图像
【发布时间】:2020-12-15 11:15:41
【问题描述】:

我正在尝试从 Flutter 应用程序将图像发送到节点 js rest api,并且在服务器上没有收到图像(它在网络版本上工作正常,但在移动设备上文件没有被上传) Multer 用于在服务器端和客户端处理 multipart/form-data 我正在这样做

    var request = MultipartRequest(
    'PUT',
    Uri.parse(
      "URL",
    ));
request.headers['authorization'] = token;
request.headers['Content-Type'] = 'multipart/form-data';
request.files.add(MultipartFile(
  'userUrl',
  image.readAsBytes().asStream(),
  image.lengthSync(),
));

StreamedResponse res = await request.send();

image 是一个 File 对象,我使用的是 http 包,但我也尝试使用 dio,结果相同。

【问题讨论】:

    标签: node.js flutter dart file-upload multer


    【解决方案1】:

    我找到了问题,只是mimetype丢失了:

        String fileName = image.path.split('/').last;
    final mimeTypeData =
        lookupMimeType(image.path, headerBytes: [0xFF, 0xD8]).split('/');
    var request = MultipartRequest(
        'PUT',
        Uri.parse(
          "url",
        ));
    request.headers['authorization'] = token;
    request.headers['Content-Type'] = 'multipart/form-data';
    request.files.add(await MultipartFile.fromPath('userUrl', image.path,
        contentType: MediaType(mimeTypeData[0], mimeTypeData[1])));
    
    StreamedResponse res = await request.send();
    

    【讨论】:

      猜你喜欢
      • 2020-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-07
      • 2011-12-07
      • 2022-12-03
      • 1970-01-01
      相关资源
      最近更新 更多