42 lines
1.2 KiB
Dart
42 lines
1.2 KiB
Dart
// ============================================================
|
|
// 闲言APP — 图片导入服务
|
|
// 创建时间: 2026-05-16
|
|
// 更新时间: 2026-05-16
|
|
// 作用: 图片导入/预处理(裁剪/压缩/格式转换)
|
|
// 上次更新: 初始创建占位实现
|
|
// ============================================================
|
|
|
|
import 'dart:io';
|
|
import 'dart:typed_data';
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
import 'package:file_picker/file_picker.dart';
|
|
import 'package:xianyan/core/utils/logger.dart';
|
|
|
|
class ImageImportService {
|
|
ImageImportService._();
|
|
|
|
static Future<Uint8List?> showImportSheet(BuildContext context) async {
|
|
try {
|
|
final result = await FilePicker.pickFiles(type: FileType.image);
|
|
if (result == null || result.files.isEmpty) return null;
|
|
final file = result.files.first;
|
|
// 优先通过路径读取
|
|
if (file.path != null) {
|
|
final f = File(file.path!);
|
|
return await f.readAsBytes();
|
|
}
|
|
// 路径不可用时回退到 bytes 属性
|
|
return file.bytes;
|
|
} catch (e) {
|
|
Log.e('图片导入失败', e);
|
|
return null;
|
|
}
|
|
}
|
|
|
|
static Future<Uint8List?> preprocessImage(Uint8List bytes) async {
|
|
return bytes;
|
|
}
|
|
}
|