如何在多部分请求中将图像文件作为 http 正文参数(POST)传递

东城

我从我的图库中获取图像,现在想在使用Multipart请求的Http 正文参数中使用此图像我无法弄清楚应该在 Multipart 请求中为 Image 传递什么。

我的变量image在方法调用后包含我的画廊图像。

  final ImagePicker _picker = ImagePicker();
  File? image;
  var fileContent;
  var fileContentBase64;

在我的应用程序中显示图像

   Padding(
       padding: const EdgeInsets.all(18.0),
          child: image == null? Text("No file chosen"): Image.file(
                              File(image!.path),
                              width: 150,
                              fit: BoxFit.cover,
                            ),
                    ),

从图库中获取图像的功能

void filePicker() async {
final File? selectedImage =
    await ImagePicker.pickImage(source: ImageSource.gallery);
print(selectedImage!.path);
setState(() {
  image = selectedImage;
  
   fileContent = image!.readAsBytesSync();
   fileContentBase64 = base64.encode(fileContent); 
});
}

现在在 Api 函数中我应该如何使用它?

  Future<void> SaveCustomTestBooking() async {


var jsonResponse;
if (EncUserId.isNotEmpty) {
   var postUri = Uri.parse("http://myAPIstomTestBooking");
  var request  = http.MultipartRequest('POST',postUri);
  request.fields['VisitDate'] = '_selectedDate';
  request.fields['EncUserId'] = 'EncUserId';

    request.files.add(new http.MultipartFile.fromBytes(
    "UserFile", File(image!.path).readAsBytesSync(),
    filename:"Image.jpg",
    contentType: MediaType('image', 'jpg')));

   request.send().then((response){
     if (response.statusCode == 200) {

       print("Uploaded!");
        Navigator.push(context, MaterialPageRoute(builder: (context) => DieticianAfterDateSelectPage(rresponse:DieticianEncBookingIdModel.fromJson(jsonResponse),)));
       
   } else {
    ScaffoldMessenger.of(context).showSnackBar(
        SnackBar(content: Text("Somthing went wrong")));
    throw Exception("Faild to fetch");

   }
   }


   );}

}

尼禄

这是使用多部分请求在 Http 正文参数中使用图像的代码示例。

  request.files.add(new http.MultipartFile.fromBytes(
        "thumbnail", File(thumbnailImage.path).readAsBytesSync(),
        filename:"Image.jpg",
        contentType: MediaType('image', 'jpg')));

这里的“缩略图”是 json 关键字名称。用你自己的。谢谢

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

一次读取后,Http Servlet请求会丢失POST正文中的参数

无法在http请求中设置POST正文

HTTP POST多部分与命名文件

如何将参数传递给Express post HTTP方法?

如何在Ionic 3上将URL参数(查询字符串)传递给HTTP POST请求

如何在JMETER中打印或获取HTTP POST请求正文

在ServiceStack中将URL数据与HTTP POST请求正文合并

如何在CURL POST命令中将JSON文件作为请求正文的一部分发送

如何在HTTP POST请求的正文中发送“ ogg”文件?

如何CFDUMP HTTP POST的“正文”

如果URL中传递了多个参数,则Django无法在POST请求正文中加载Json

在HTTP请求正文中传递数组

Mule 4:HTTP请求程序:如何将Meta REST服务调用的多部分/表单数据作为POST正文发送?

如何使用go的net / http或类似方法保存在多部分/表单数据POST请求中收到的文件?

如何使用cURL发送带有正文,标头和HTTP参数的POST?

如何在AngularJS中与其他参数一起在http.post中上传图像文件

如何以多部分形式将多个文件作为附件发送[HTTP POST请求]

如何在HTTP发布请求正文中发布参数?

如何在HTTP请求中将JSON作为查询参数传递?

如何在使用 AJAX 作为 HTTP 请求传递的 Python Flask 中接收对象数组作为参数?

带有 url 且没有正文参数的 Angular http post 方法请求

我应该如何在 Http POST 请求的正文中发送图像文件以及其他表单数据 angular 5.后端在 Laravel 中使用干预包

如何在 http.post url 中作为参数传递像“#”、“^”这样的特殊字符

无法使用 http post 传递请求参数

我有一个 POST 请求,需要传递正文参数,在我下面的代码中

HTTP Post 请求不从离子发送正文或参数数据

如何在 Flutter 中将 ArrayList 项传递给 http 请求(post)的正文?

如何在 Flutter 中将图像文件传递给 Http 请求(POST)的主体?

将http请求作为参数传递