【发布时间】:2021-09-01 06:24:17
【问题描述】:
我正在尝试使用两个具有相同名称的不同图像。但是两个拾取的图像的路径是相同的。它不是唯一的。所以我在服务器上上传了与第一个上传图像同名的第二张图像。但是服务器有两个图像是相同的,它有第一个图像。那么如何处理这种情况并自定义路径呢?
【问题讨论】:
标签: flutter path unique customization filepicker
我正在尝试使用两个具有相同名称的不同图像。但是两个拾取的图像的路径是相同的。它不是唯一的。所以我在服务器上上传了与第一个上传图像同名的第二张图像。但是服务器有两个图像是相同的,它有第一个图像。那么如何处理这种情况并自定义路径呢?
【问题讨论】:
标签: flutter path unique customization filepicker
您可以使用path_provider 在您的应用上定义自定义目录。
因此,使用您的自定义路径复制文件并重命名文件名。
顺便说一句,不要在 iOS 上保存文件的绝对路径。 iOS 使用
SandBox访问该文件。每次获取文件路径时。文件路径会有所不同。
class FileUtils {
final String avatarPath = '/avatar/';
Future<String> getAvatarDirectoryPath() async {
final String appDirPath = await getApplicationSupportDirectory().path;
final Directory avatarDirPath = await Directory(appDirPath + avatarPath).create();
return directory.path;
}
}
// Example
{
final XFile? image = await ImagePicker().pickImage(source: ImageSource.camera);
final File imageFile = File(image.path);
final File newFile = File(await FileUtils().getAvatarDirectoryPath() + 'userAvatar.png');
await imageFile.copy(newFile.path);
}
【讨论】: