I am trying to use dart-io to read and write file. I am getting below exception.
Uncaught Error: Unsupported operation: _Namespace
at Object.dart.throw (dart_sdk.js:4537)
at Function.get _namespacePointer [as _namespacePointer] (dart_sdk.js:49364)
at Function._namespacePointer (dart_sdk.js:47224)
at Function._dispatchWithNamespace (dart_sdk.js:47227)
at io._File.new.open (dart_sdk.js:47342)
at new io._FileStreamConsumer.new (dart_sdk.js:47186)
at io._File.new.openWrite (dart_sdk.js:47468)
at refresh (main.dart:15)
at refresh.next (<anonymous>)
at runBody (dart_sdk.js:22264)
at Object.async.async (dart_sdk.js:22292)
at main.refresh (main.dart:13)
at Object.dart._checkAndCall (dart_sdk.js:4731)
at Object.dart.dcall (dart_sdk.js:4736)
Run Code Online (Sandbox Code Playgroud)
我使用的代码最终输出 = io.File('output.txt').openWrite(); output.write(output_data);
Could you please help me in fixing it.
Or any other way to read and write files using dart in a web application.
Run Code Online (Sandbox Code Playgroud)
小智 22
if (kIsWeb) {
image = Image.network(pickedFile.path);
} else {
image = Image.file(File(pickedFile.path));
}
Run Code Online (Sandbox Code Playgroud)
答案在文档中 https://pub.dev/packages/image_picker
Kev*_*ore 10
dart:io不能在 web 项目中使用。dart:html有一些有限的文件 API(仅限于浏览器允许的内容)。Dart 在浏览器中不能做任何浏览器没有提供的事情。
(不知道为什么君特没有把这个作为答案......)
使用https://pub.dev/packages/image_picker库。
在 dart 文件中:-
import 'dart:io';
Run Code Online (Sandbox Code Playgroud)
要选择图像,请使用以下代码:-
_imgFromGallery() async {
final temp = (await ImagePicker().
getImage(source:ImageSource.camera,imageQuality:
80));
imageForSendToAPI = await temp.readAsBytes();
setState(() {});
}
Run Code Online (Sandbox Code Playgroud)
此方法将从桌面获取图像。
这里 imageForSendToAPI 将为您提供 uint8list,您可以将其传递给 API。
要显示所选文件,请使用:
Image.memory(imageForSendToAPI)
Run Code Online (Sandbox Code Playgroud)
发送到 API 时不要使用多部分,只需像下面这样传递:-
data = {
"profile_image":imageForsendToAPI.toString();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7143 次 |
| 最近记录: |