如何在多部分请求中发送空白文件

时间:2020-06-04 08:40:41

标签: http flutter dart

在flutter中,我无法使用http请求发送空白文件。 服务器给我异常'500'。 另外,我需要发送一个参数“ Filename”,因为它不是可选的,否则,如果文件为空,则可以跳过它。

代码如下:



  final Uri _saveTaskUrl =
      Uri.parse('http://————————);

  Future addNewTask(
      {File image,
      taskName,}) async {
// Intilize the multipart request
final imageUploadRequest = http.MultipartRequest('POST', _saveTaskUrl);

// Attach the file in the request

  final mimeTypeData =
      lookupMimeType(image?.path ?? '', headerBytes: [0xFF, 0xD8])
          .split('/');

   //Error is here
//////////////////////////////////////////////////////////
   //what to do here if i want to send a blank image file
  final file = await http.MultipartFile.fromPath('FileName', image?.path ?? ''
      ,contentType: MediaType(mimeTypeData[0], mimeTypeData[1]));
////////////////////////////////////////////////////////
  imageUploadRequest.files.add( file);


imageUploadRequest.headers.addAll({
  "token": centralstate.loginData["AuthToken"],
  "clientid": centralstate.loginData["ClientId"].toString(),

});


    imageUploadRequest.fields['taskName'] = taskName;


    try {

      final streamedResponse = await imageUploadRequest.send();
      final response = await http.Response.fromStream(streamedResponse);
      if (response.statusCode != 200) {

        print(
            'Error while adding new task : ${response.statusCode} : ${response.body}');
        return 0;
      }


      print(responseData);

      return 1;
    } catch (e) {

      return 0;
    }
  }
从空白文件中

我的意思是这样的: 邮递员的屏幕截图 Postman Screenshot

我知道我可以使用if语句检查文件!= null,但是我明确想发送一个空白文件。

0 个答案:

没有答案