FastAPI Form
- snippet.py
@router.post('/info/form') async def wine_info_post(name_ko: str = Form(None), files: List[UploadFile] = File(None), db: AsyncIOMotorClient = Depends(get_mongodb)): """file 전송을 위해서 form 사용""" print(f'name_ko: {name_ko}') print(files) # return {"file_sizes": [file.filename for file in files]} return JSONResponse(content=jsonable_encoder(files))
sending file from dart
- snippet.dart
import 'dart:io'; import 'package:dio/dio.dart'; import 'package:wine_talk_flutter/api/api.dart'; import 'package:wine_talk_flutter/model/wine_info.dart'; class WineInfoApi extends Api { Future add(WineInfo wineInfo, List<File> fileList) async { try { Dio dio = new Dio(); wineInfo.nameKo = 'my name ko'; var formData = FormData.fromMap(wineInfo.toJson()); formData.files.add( MapEntry( "files", MultipartFile.fromFileSync(fileList[0].path, filename: fileList[0].path), ), ); String url = '$baseUrl/wine/info/form'; Response response = await dio.post(url, data: formData); print(response); } catch (e) { print(e); return []; } } }
참고
관련 문서
Plugin Backlinks: 아무 것도 없습니다.