首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在服务器上上传不工作的多功能图像

在服务器上上传不工作的多功能图像
EN

Stack Overflow用户
提问于 2021-05-10 11:29:06
回答 1查看 460关注 0票数 0

我试图上传多个图像到服务器,但总是遇到问题。我也尝试了一些其他的解决方案,但没有奏效。

代码语言:javascript
复制
saveImages() async {
    // string to uri
    Uri uri = Uri.parse('http://100.0.50.10:8000/API/AddImageCarSale/Post');

// create multipart request
    MultipartRequest request = http.MultipartRequest("POST", uri);
    if (images != null) {
      for (var i = 0; i < images.length; i++) {
        ByteData byteData = await images[i].getByteData();
        List<int> imageData = byteData.buffer.asUint8List();

        MultipartFile multipartFile = MultipartFile.fromBytes(
          'photo', //key of the api
          imageData,
          filename: images[i].name,
          contentType: MediaType("image",
              "jpg"), //this is not nessessory variable. if this getting error, erase the line.
        );
        request.fields['PhoneNo'] = '1122';
        request.fields['VehicleNo'] = '1234';
// add file to multipart
        request.files.add(multipartFile);
// send
        var response = await request.send();
      }
    }
  }

我的错误是

错误:flutter/lib/ui/ui_dart_state.cc(166)未处理的异常:错误状态:无法完成最终的请求。E/ BaseRequest.finalize (11521):#0 BaseRequest.finalize(包装:http/src/base_request.dart:104:20)E/ MultipartRequest.finalize (11521):#1 MultipartRequest.finalize IOClient.send E/颤振(11521):#2 IOClient.send(包装:http/src/io_client.dart:28:26)E/MultipartRequest.finalize (11521):#3 BaseRequest.send (软件包:http/src/base_BaseRequest.send)(package:Autolog/pages/buySell/sellerForm.dart:361:38) E/request.dart:119:35 (11521):E/颤振(11521):#5 _SellerFormState._buildBody。(package:Autolog/pages/buySell/sellerForm.dart:754:25) E/颤振(11521):#6 _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:992:19) E/颤振(11521):#7 _InkResponseState.build。(package:flutter/src/material/ink_well.dart:1098:38) E/颤振(11521):#8 (package:flutter/src/gestures/recognizer.dart:184:24) E/颤振(11521):#9 TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:524:11) E/颤振(11521):#10 BaseTapGestureRecognizer._checkUp (包装:颤振/src/手势/踢踏舞:284:5)11521):#11 (package:flutter/src/gestures/arena.dart:158:27) (package:flutter/src/gestures/binding.dart:224:20) E/ GestureArenaManager.sweep (11521):#13 GestureBinding.handleEvent GestureBinding.dispatchEvent E/GestureBinding.handleEvent (11521):#14 GestureBinding.dispatchEvent(包装:GestureArenaManager.sweep/src/手势/binding.dart:GestureArenaManager.sweep/src/手势/binding.dart:E/颤振(11521):#15 (package:flutter/src/gestures/binding.dart:158:7) E/颤振(11521):#16 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:104:7) E/颤振(11521):#17 GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:88:7) E/颤振(11521):#18 _rootRunUnary (飞镖:异步/飞镖:1206:13)E/颤振(11521):#19 _CustomZone.runUnary (飞镖:异步/飞镖:1100:19)E/颤振(11521):#20 _CustomZone.runUnaryGuarded (飞镖:异步/飞镖:1005:7)E/颤振(11521):#21 _invoke1 (飞镖:ui/hooks.dart:267:10)E/颤振(11521):#22 _dispatchPointerDataPacket (飞镖:ui/hooks.dart:176:5)E/颤振(11521):

EN

回答 1

Stack Overflow用户

发布于 2022-02-26 13:22:10

在完成多部分请求时,您需要为每个循环创建一个新的多部分请求。尝试这个修改,它应该可以工作。

代码语言:javascript
复制
    // string to uri
    Uri uri = Uri.parse('http://100.0.50.10:8000/API/AddImageCarSale/Post');

// create multipart request
    if (images != null) {
      for (var i = 0; i < images.length; i++) {
        MultipartRequest request = http.MultipartRequest("POST", uri);
        ByteData byteData = await images[i].getByteData();
        List<int> imageData = byteData.buffer.asUint8List();

        MultipartFile multipartFile = MultipartFile.fromBytes(
          'photo', //key of the api
          imageData,
          filename: images[i].name,
          contentType: MediaType("image",
              "jpg"), //this is not nessessory variable. if this getting error, erase the line.
        );
        request.fields['PhoneNo'] = '1122';
        request.fields['VehicleNo'] = '1234';
// add file to multipart
        request.files.add(multipartFile);
// send
        var response = await request.send();
      }
    }
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67469618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档