flutter 如何使用API将图像上载到SQL Server

zbdgwd5y  于 2022-12-24  发布在  Flutter
关注(0)|答案(1)|浏览(129)

我正在尝试使用laravel API将包含用户数据的图像上传到PHP SQL服务器。
但我在上传图像时出错..
我的图像代码是:

  1. var multipartFile = http.MultipartFile(
  2. 'image',
  3. image.readAsBytes().asStream(),
  4. image.lengthSync(),
  5. filename: image.path.split('/').last,
  6. );

我收到的错误是:

  1. [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Converting object to an encodable object failed: Instance of 'MultipartFile'

我也尝试上传图像直接没有多个部分,但仍然得到错误。

suzh9iv8

suzh9iv81#

试试这个

  1. import 'dart:convert';
  2. import 'dart:io';
  3. import 'package:async/async.dart';
  4. import 'package:http/http.dart' as http;
  5. import 'package:path/path.dart';
  6. class ApiHelper {
  7. imageUpload(File imageFile) async {
  8. var stream = http.ByteStream(DelegatingStream.typed(imageFile.openRead()));
  9. var length = await imageFile.length();
  10. var uri = Uri.parse(uploadURL);
  11. var request = http.MultipartRequest("POST", uri);
  12. var multipartFile = http.MultipartFile('file', stream, length, filename: basename(imageFile.path));
  13. request.files.add(multipartFile);
  14. var response = await request.send();
  15. response.stream.transform(utf8.decoder).listen((value) {
  16. print(value);
  17. });
  18. }
  19. }
展开查看全部

相关问题