feat:调整上传逻辑

This commit is contained in:
2025-11-14 13:43:24 +08:00
parent f0f8d9ef69
commit 13d5a31197

View File

@@ -129,50 +129,6 @@ class _LookImagesWidgetState extends State<LookImagesWidget> {
return null; return null;
} }
@override
void initState() {
listData = widget.listData;
if (widget.currentPage == null) {
initialPage = 0;
currentPage = 0;
} else {
// initialPage = 0;
currentPage = widget.currentPage ?? 0;
}
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Stack(
children: [
PhotoViewGallery.builder(
itemCount: listData.length,
pageController: PageController(initialPage: currentPage),
onPageChanged: (index) {
setState(() {
currentPage = index;
});
},
builder: (_, index) {
return PhotoViewGalleryPageOptions(
imageProvider: NetworkImage(
listData[index],
),
);
},
),
Positioned(
left: 15,
top: 50,
child: GestureDetector(onTap: () => Get.back(), child: Icon(Icons.arrow_back_ios, color: Colors.white))),
Positioned(
right: 15,
top: 50,
child: GestureDetector(
onTap: () async {
Uint8List? imageFile = await editImage(url: listData[currentPage]);
/// 可选:根据字节头自动识别文件后缀(如图片、视频) /// 可选:根据字节头自动识别文件后缀(如图片、视频)
String getExtension(Uint8List uint8List) { String getExtension(Uint8List uint8List) {
@@ -220,7 +176,7 @@ class _LookImagesWidgetState extends State<LookImagesWidget> {
// 3. 将 Uint8List 写入文件 // 3. 将 Uint8List 写入文件
await tempFile.writeAsBytes(uint8List); await tempFile.writeAsBytes(uint8List);
print("临时文件路径:${tempFile.path}"); print("临时文件路径:${tempFile.path}");
String string = await UploadOss.upload( String imageUrl = await UploadOss.upload(
tempFile.path, tempFile.path,
fileType: getExtension(uint8List), fileType: getExtension(uint8List),
oSSAccessKeyId: widget.oSSAccessKeyId ?? '', oSSAccessKeyId: widget.oSSAccessKeyId ?? '',
@@ -230,12 +186,59 @@ class _LookImagesWidgetState extends State<LookImagesWidget> {
callback: widget.callback ?? '', callback: widget.callback ?? '',
signature: widget.signature ?? '', signature: widget.signature ?? '',
); );
print("上传后的路径:$imageUrl");
return tempFile; return tempFile;
} catch (e) { } catch (e) {
print("转换临时文件失败:$e"); print("转换临时文件失败:$e");
return null; return null;
} }
} }
@override
void initState() {
listData = widget.listData;
if (widget.currentPage == null) {
initialPage = 0;
currentPage = 0;
} else {
// initialPage = 0;
currentPage = widget.currentPage ?? 0;
}
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Stack(
children: [
PhotoViewGallery.builder(
itemCount: listData.length,
pageController: PageController(initialPage: currentPage),
onPageChanged: (index) {
setState(() {
currentPage = index;
});
},
builder: (_, index) {
return PhotoViewGalleryPageOptions(
imageProvider: NetworkImage(
listData[index],
),
);
},
),
Positioned(
left: 15,
top: 50,
child: GestureDetector(onTap: () => Get.back(), child: Icon(Icons.arrow_back_ios, color: Colors.white))),
Positioned(
right: 15,
top: 50,
child: GestureDetector(
onTap: () async {
Uint8List? imageFile = await editImage(url: listData[currentPage]);
uint8ListToTempFile(imageFile??Uint8List(0));
}, },
child: Icon(Icons.edit, color: Colors.white))), child: Icon(Icons.edit, color: Colors.white))),
//图片张数指示器 //图片张数指示器