如何在本地为 Flutter Web 读写图像文件?
How do I read and write image file locally for Flutter Web?
我一直在寻找在 Flutter Web 中将图像文件读写到本地目录的方法。目的是让网站不需要下载两次图像。例如:我们可以检查文件是否存在,如果不存在,我们就可以下载它。
我们可以像这样在 Flutter App 中轻松做到这一点:
要访问本地存储中的文件:
// Getting App's local directory
final Directory localRootDirectory = await getApplicationDocumentsDirectory();
final String filePath = p.join(localRootDirectory.path, path, filename);
final tempFile = File(filePath);
return await tempFile.readAsBytes();
然后保存我们做的新文件:
//Writing the image into file
tempFile = await File(filePath).create(recursive: true);
await tempFile.writeAsBytes(bytes);
那么在 Flutter Web 中是否有与上述解决方案等效的解决方案?
谢谢
我不认为它可以使用网络上的文件来完成。但是,您可以使用 SharedPreferences
来达到同样的目的。
SharedPreferences
支持网页:shared_preferences
虽然上面的答案是公认的答案,但上面的解决方案只能在浏览器打开时有效。
最后我发现我不需要担心将它保存在本地,无论如何浏览器将临时 Internet 文件保存在其缓存中。呃...!
我一直在寻找在 Flutter Web 中将图像文件读写到本地目录的方法。目的是让网站不需要下载两次图像。例如:我们可以检查文件是否存在,如果不存在,我们就可以下载它。
我们可以像这样在 Flutter App 中轻松做到这一点:
要访问本地存储中的文件:
// Getting App's local directory final Directory localRootDirectory = await getApplicationDocumentsDirectory(); final String filePath = p.join(localRootDirectory.path, path, filename); final tempFile = File(filePath); return await tempFile.readAsBytes();
然后保存我们做的新文件:
//Writing the image into file tempFile = await File(filePath).create(recursive: true); await tempFile.writeAsBytes(bytes);
那么在 Flutter Web 中是否有与上述解决方案等效的解决方案?
谢谢
我不认为它可以使用网络上的文件来完成。但是,您可以使用 SharedPreferences
来达到同样的目的。
SharedPreferences
支持网页:shared_preferences
虽然上面的答案是公认的答案,但上面的解决方案只能在浏览器打开时有效。
最后我发现我不需要担心将它保存在本地,无论如何浏览器将临时 Internet 文件保存在其缓存中。呃...!