我尝试从flutter web应用程序上传图像到firebase存储,但代码中出现此错误。
无法将参数类型“Uint8List?”赋给参数类型“Uint8List”
我如何解决这个错误?
代码如下所示:
Future<void> pickImage() async
{
FilePickerResult? result = await FilePicker.platform.pickFiles();
if (result != null) {
Uint8List? fileBytes =result.files.first.bytes;
String fileName = result.files.first.name;
setState(() {
fname=fileName;
});
// Upload file
await FirebaseStorage.instance.ref('images/$fileName').putData(fileBytes);
var Downloadurl=await FirebaseStorage.instance.ref('images/$fileName').getDownloadURL();
setState(() {
imgUrl=Downloadurl;
});
}
}
我尝试了html输入元素和图像拾取器包太多,但不能解决这个问题。
1条答案
按热度按时间gr8qqesn1#
如果您确定
fileBytes
不是null
,则可以将其强制转换为Uint8List
,如下所示: