【发布时间】:2021-04-04 20:25:21
【问题描述】:
使用 Dart / Flutter,我从图库中选择照片。我怎样才能发送 我选择的照片到 c# api? 我不知道如何将所选图像发送到 api。 感谢您的帮助
Api 会根据 应用。我不明白的部分是;我怎样才能发送照片 到api?
这是我的代码:
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';
void main() {
runApp(new MaterialApp(
title: "Ymgk Proje",
home: LandingScreen(),
));
}
class LandingScreen extends StatefulWidget {
@override
_LandingScreenState createState() => _LandingScreenState();
}
class _LandingScreenState extends State<LandingScreen> {
File imageFile;
_openGallary(BuildContext context) async {
var picture =
imageFile = await ImagePicker.pickImage(source: ImageSource.gallery);
this.setState(() {
imageFile = picture;
});
Navigator.of(context).pop();
}
_openCamera(BuildContext context) async {
var picture =
imageFile = await ImagePicker.pickImage(source: ImageSource.camera);
this.setState(() {
imageFile = picture;
});
Navigator.of(context).pop();
}
Future<void> _showChoiceDiolog(BuildContext context) {
return showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: Text("Ekleme yönteminizi seçiniz."),
content: SingleChildScrollView(
child: ListBody(
children: <Widget>[
GestureDetector(
child: Text("Galeri"),
onTap: () {
_openGallary(context);
},
),
Padding(padding: EdgeInsets.all(8.0)),
GestureDetector(
child: Text("Kamera"),
onTap: () {
_openCamera(context);
},
)
],
),
),
);
});
}
Widget _decideImageView() {
if (imageFile == null) {
return Text("Henüz resim Seçilmedi!");
} else {
return Image.file(imageFile, width: 400, height: 400);
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("YMGK2"),
centerTitle: mounted,
),
body: Container(
child: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: <Widget>[
_decideImageView(),
RaisedButton(
onPressed: () {
_showChoiceDiolog(context);
},
child: Text("Resim Ekle"),
)
],
),
),
),
);
}
}
【问题讨论】: