Float에서 XFile을 파일로 변환하는 방법
Firebase는 File 형식으로만 업로드하기 때문에 파일을 Firebase에 업로드하기 위해 XFile을 File로 변환하고 싶습니다.코드는 다음과 같습니다.
XFile videofile;
videofile = file;
await FirebaseStorage.instance.ref(imageRef).putFile(videoFile);
XFile을 Firebase에 업로드할 수 없다는 오류가 표시됩니다.
XFile 패키지의 XFile 패키지를 사용하면 다음과 같은 오류가 발생합니다.
'Xfile'이라는 이름은 'package:cross_file/src/types/interface.dart' 및 'package:xfile/src/xfile_core.dart(package:xfile/xfile.dart 경유)' 라이브러리에 정의되어 있습니다.가져오기 지시사항 중 하나에 ' 접두사로'를 사용하거나 가져오기 중 하나를 제외한 모든 항목에서 이름을 숨깁니다.
파일의 다른 종속성은 다음과 같습니다.
import 'dart:async';
import 'dart:io';
import 'package:firebase_storage/firebase_storage.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:camera/camera.dart';
import 'package:flutter/material.dart';
import 'package:video_player/video_player.dart';
File file = File(videofile.path);
XFile 플러그인이 다른 플러그인과 충돌할 수 있으므로 .toFile()이 작동하지 않을 수 있습니다.
위젯 내부의 이미지를 표시하기 위해 X파일 이미지를 파일 이미지로 변환하려면 다음을 사용합니다.
XFile? selectedImage;
Image.file(File(selectedImage!.path))
반환되는 네트워크 유형 경로와 관련된 문제에 직면한 모든 사용자에게 적합합니다.xFile.path
파일을 만드는 데 사용할 수 없습니다. 대신 FireStore를 사용할 수 있습니다.putData
기능하고 xFile에서 바이트로 읽습니다.
FirebaseStorage store = FirebaseStorage.instance;
final _picker = ImagePicker();
XFile? pickedImage = await _picker.pickImage(source: ImageSource.gallery);
if (pickedImage != null) {
TaskSnapshot task = await store.ref(imageRef).putData(await pickedImage.readAsBytes());
}
처리/처리하기 전에 필요한 경우 이미지를 압축하는 것이 좋습니다.
final file = videofile.toFile();
플러그인의 문서에서 더 많은 예제를 찾을 수 있습니다.
File convertToFile(XFile xFile) => File(xFile.path);
var _image34 = await ImagePicker().pickImage(source: ImageSource.camera, maxWidth: 200.0, maxHeight: 200.0);
FirebaseStorage fs = FirebaseStorage.instance;
Reference rootReference = fs.ref();
Reference pictureFolderRef = rootReference.child("pictures").child("image");
pictureFolderRef.putFile(File(_image34!.path)).whenComplete(() => print("uploaded")).then((storageTask) async {
String link = await storageTask.ref.getDownloadURL();
});
안녕하세요, 오늘(2021년 8월 26일) 도서관 업데이트 하신 분들을 위한 답변입니다.
XFile videofile;
videofile = file;
await FirebaseStorage.instance.ref(imageRef).putFile(File(videoFile!path));
도움이 된다면 알려주세요, 감사합니다.
언급URL : https://stackoverflow.com/questions/66185696/how-to-convert-a-xfile-to-file-in-flutter
'programing' 카테고리의 다른 글
R에 data.frame을 저장하는 방법은? (0) | 2023.07.04 |
---|---|
하위 필드별 mongodb 쿼리 (0) | 2023.07.04 |
mLab에서 MongoDB 데이터베이스에 연결하면 인증에 실패함 (0) | 2023.07.04 |
web.xml을 사용하여 스프링 부트 응용 프로그램 구성 (0) | 2023.07.04 |
os.path.sysname(__file_)이(가) 비어 있음을 반환합니다. (0) | 2023.07.04 |