FileSystemException:尝试写入新文件时无法打开文件

发布于 2025-01-20 14:23:15 字数 1105 浏览 2 评论 0原文

我正在尝试使用自定义名称编写文件,但是要遇到错误,但是如果我使用常数名称,则可以正常工作,

这是我的代码

    Future downloadFile(String url, String name) async {
//creating path
final tempDir =
    (await AndroidExternalStorage.getExternalStoragePublicDirectory(
        DirType.downloadDirectory));
//filename genearted from 
customname = generated;
final file = File('$tempDir/myfolder/$customname');
  try {
    final response = await Dio().get(url,
        onReceiveProgress: (count, total) {
      setState(() {
        isDownloading = true;
        progress = ((count / total) * 100);
        if (progress == 100) {
          isDownloaded = true;
        }
      });
    },
        options:
            Options(responseType: ResponseType.bytes, receiveTimeout: 0));

    var raf = file.openSync(mode: FileMode.write);
    raf.writeByteSync(response.data);
    await raf.close();
  } catch (e) {
    log(e.toString());
  }

}

错误日志

[log] FileSystemException: Cannot open file, path = '/storage/emulated/0/Download/myfolder/dunkin.zip' (OS Error: Permission denied, errno = 13)

I'm trying to write file with custom name but getting error but if i used constant name it works just fine

here is my code

    Future downloadFile(String url, String name) async {
//creating path
final tempDir =
    (await AndroidExternalStorage.getExternalStoragePublicDirectory(
        DirType.downloadDirectory));
//filename genearted from 
customname = generated;
final file = File('$tempDir/myfolder/$customname');
  try {
    final response = await Dio().get(url,
        onReceiveProgress: (count, total) {
      setState(() {
        isDownloading = true;
        progress = ((count / total) * 100);
        if (progress == 100) {
          isDownloaded = true;
        }
      });
    },
        options:
            Options(responseType: ResponseType.bytes, receiveTimeout: 0));

    var raf = file.openSync(mode: FileMode.write);
    raf.writeByteSync(response.data);
    await raf.close();
  } catch (e) {
    log(e.toString());
  }

}

error log

[log] FileSystemException: Cannot open file, path = '/storage/emulated/0/Download/myfolder/dunkin.zip' (OS Error: Permission denied, errno = 13)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文