首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不支持的操作:在web上使用dart io时出现_Namespace

不支持的操作:在web上使用dart io时出现_Namespace
EN

Stack Overflow用户
提问于 2019-02-25 15:36:34
回答 3查看 9.7K关注 0票数 11
代码语言:javascript
复制
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)

代码我使用了最终输出= io.File('output.txt').openWrite();output.write(output_data);

代码语言:javascript
复制
Could you please help me in fixing it.
Or any other way to read and write files using dart in a web application.
EN

回答 3

Stack Overflow用户

发布于 2020-11-26 02:14:56

不能在web项目中使用dart:iodart:html有一些有限的文件应用编程接口(限于浏览器允许的范围)。浏览器中的Dart不能执行浏览器未提供的任何操作。

(不确定为什么Günter没有把这个作为答案...)

票数 14
EN

Stack Overflow用户

发布于 2021-06-05 17:05:52

代码语言:javascript
复制
if (kIsWeb) {
  image = Image.network(pickedFile.path);
} else {
  image = Image.file(File(pickedFile.path));
}

答案在documentation https://pub.dev/packages/image_picker

票数 5
EN

Stack Overflow用户

发布于 2021-07-07 18:17:25

使用https://pub.dev/packages/image_picker库。

在dart文件中:

代码语言:javascript
复制
import 'dart:io';

对于选择图像,请使用以下代码:

代码语言:javascript
复制
_imgFromGallery() async {
   final temp = (await ImagePicker().
                 getImage(source:ImageSource.camera,imageQuality: 
                 80));
   imageForSendToAPI = await temp.readAsBytes();
   setState(() {});
  }

此方法将从桌面获取图像。

这里imageForSendToAPI会给你一个uint8list,你可以把它传给API。

用于显示所选文件的使用情况:

代码语言:javascript
复制
Image.memory(imageForSendToAPI)

对于发送到API,不要使用multipart,只需像下面这样传递:

代码语言:javascript
复制
data = {
"profile_image":imageForsendToAPI.toString();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54861467

复制
相关文章

相似问题

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