/// <summary> /// 上传成功后 /// </summary> /// <param name="p_id">文件上传路径</param> /// <param name="p_file">已上传文件对象</param> /// <returns></returns> async Task IUploadUI.UploadSuccess(string p_id, FileData p_file) { // 更新时删除旧文件 if (!string.IsNullOrEmpty(ID)) { // 删除服务器端旧文件 await AtFile.Delete(ID); // 删除本地旧文件 Kit.DeleteCacheFile(GetFileName()); } ID = p_id; // 若文件已在CachePath,重命名免去再次下载,如录音、拍照、录视频等临时文件已在CachePath string filePath = p_file.FilePath; #if UWP // 为安全访问ID if (filePath.StartsWith("{")) { try { var file = await StorageApplicationPermissions.FutureAccessList.GetFileAsync(filePath); filePath = file.Path; } catch { } } #endif if (filePath.StartsWith(Kit.CachePath)) { try { FileInfo fi = new FileInfo(filePath); if (fi.Exists) { // 重命名免去再次下载 string newPath = Path.Combine(Kit.CachePath, GetFileName()); fi.MoveTo(newPath); UpdateCachedFlag(); } } catch { } } // 缩略图重命名 if (!string.IsNullOrEmpty(p_file.ThumbPath)) { try { FileInfo fi = new FileInfo(p_file.ThumbPath); if (fi.Exists) { string newPath = Path.Combine(Kit.CachePath, GetThumbName()); fi.MoveTo(newPath); } } catch { } } }