本文介绍了如何在Flutter中上传图片?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想上传图片,我使用http.Client()进行请求,
I would like to upload a image, I am using http.Client() for making requests,
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: ) }请求的主体和编码部分应该是什么?
What should be the body and encoding part for the request ?
推荐答案使用 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;更多推荐
如何在Flutter中上传图片?
发布评论