加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

dart – 如何在Flutter上传图像?

发布时间:2020-12-14 14:51:13 所属栏目:百科 来源:网络整理
导读:我想上传一张图片,我正在使用http.Client()来发送请求, static uploadImage(String id,File file) { var httpClient = createHttpClient(); MapString,String headers = new MapString,String(); headers.putIfAbsent("Authorization",() = "---"); headers.
我想上传一张图片,我正在使用http.Client()来发送请求,

static uploadImage(String id,File file) {
  var httpClient = createHttpClient();

  Map<String,String> headers = new Map<String,String>();
  headers.putIfAbsent("Authorization",() => "---");
  headers.putIfAbsent("Content-Type",() => "application/json");

  var body=new List();
  body.add(id.)
  httpClient.post(URL_UPLOADIMAGE,headers: headers,body:,encoding: )
}

请求的正文和编码部分应该是什么?

解决方法

使用 MultipartRequest 级

Upload(File imageFile) async {    
    var stream = new http.ByteStream(DelegatingStream.typed(imageFile.openRead()));
      var length = await imageFile.length();

      var uri = Uri.parse(uploadURL);

     var request = new http.MultipartRequest("POST",uri);
      var multipartFile = new http.MultipartFile('file',stream,length,filename: basename(imageFile.path));
          //contentType: new MediaType('image','png'));

      request.files.add(multipartFile);
      var response = await request.send();
      print(response.statusCode);
      response.stream.transform(utf8.decoder).listen((value) {
        print(value);
      });
    }

名称空间:

import 'package:path/path.dart';
import 'package:async/async.dart';
import 'dart:io';
import 'package:http/http.dart' as http;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读