[英]Upload CSV file Flutter Web
我正在使用 file_picker 插件在 Flutter Web 中选择 CSV 文件。 虽然我能够选择文件,但它会将文件转换为字节(Uint8List)。 有什么办法可以获得原始的 CSV 文件,或者我可以将这些字节转换为 CSV 或者我可以获得文件的路径?
代码:
void pickCSV() async {
FilePickerResult? result = await FilePicker.platform.pickFiles(type: FileType.custom, allowedExtensions: ['csv']);
if (result != null) {
var fileBytes = result.files.first.bytes;
csfFileName.value = result.files.first.name;
} else {
// User canceled the picker
}
}
我知道这有点晚了,但你有几个选择,也许它也可以帮助其他人。
这两种选择都需要服务器端处理,因此您需要阅读如何执行此操作。
获取 CSV 文件的内容,将其发送到服务器,并在服务器上使用该内容创建一个新文件。 您可以使用String.fromCharCodes读取内容,在 web 之后,您的 select 文件。
将 Uint8List 转换为 base64 字符串,使用base64Encode function,将其发送到服务器,在那里进行处理。
或者,如果您使用 Firebase 存储,您可以像这样使用putData :
final metaData = SettableMetadata(contentType: mimeType);
final task = await _storage.ref().child(cloudPath).putData(fileData, metaData);
/// Get the URL
await task.ref.getDownloadURL()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.