internal async Task <IIpcResult> AddFileAsync(IDropItem dropItem, Func <string, bool> symlinkTester) { Contract.Requires(dropItem != null); // Check if the file is a symlink, only if the file exists on disk at this point; if it is a symlink, reject it outright. if (System.IO.File.Exists(dropItem.FullFilePath) && symlinkTester(dropItem.FullFilePath)) { return(new IpcResult(IpcResultStatus.ExecutionError, SymlinkAddErrorMessagePrefix + dropItem.FullFilePath)); } return(await WrapDropErrorsIntoIpcResult(async() => { IDropClient dropClient = await m_dropClientTask; AddFileResult result = await dropClient.AddFileAsync(dropItem); switch (result) { case AddFileResult.Associated: case AddFileResult.UploadedAndAssociated: case AddFileResult.SkippedAsDuplicate: return IpcResult.Success(I($"File '{dropItem.FullFilePath}' {result} under '{dropItem.RelativeDropPath}' in drop '{DropName}'.")); case AddFileResult.RegisterFileForBuildManifestFailure: return new IpcResult(IpcResultStatus.ExecutionError, $"Failure during BuildManifest Hash generation for File '{dropItem.FullFilePath}' {result} under '{dropItem.RelativeDropPath}' in drop '{DropName}'."); default: return new IpcResult(IpcResultStatus.ExecutionError, $"Unhandled drop result: {result}"); } })); }
public static AddFileResult ToAddFileResult(this CreateFileRequest.Result data) { var res = new AddFileResult { Success = data.status == 200, Path = data.body }; return res; }
public static AddFileResult ToAddFileResult(this MobAddFileRequest.Result data) { var res = new AddFileResult { Success = data.IsSuccess, Path = data.Path }; return(res); }
public static AddFileResult ToAddFileResult(this CommonOperationResult <string> data) { var res = new AddFileResult { Success = data.Status == 200, Path = data.Body }; return(res); }
public async Task <AddFileResult> AddFile(string fileFullPath, string fileHash, FileSize fileSize, DateTime dateTime, ConflictResolver?conflictResolver) { var res = new AddFileResult { Path = fileFullPath, Success = true }; return(await Task.FromResult(res)); }
// 选择一个本地文件 private async void btnPickLocalFile_Click(object sender, RoutedEventArgs e) { StorageFile file = await Package.Current.InstalledLocation.GetFileAsync(@"Assets\hololens.jpg"); if (_fileOpenPickerUI.CanAddFile(file)) { AddFileResult result = _fileOpenPickerUI.AddFile("myFile", file); lblMsg.Text = "选择的文件: " + file.Name; lblMsg.Text += Environment.NewLine; lblMsg.Text += "AddFileResult: " + result.ToString(); } }
// 选择一个远程文件 private async void btnPickRemoteFile_Click(object sender, RoutedEventArgs e) { Uri uri = new Uri("http://images.cnblogs.com/mvpteam.gif", UriKind.Absolute); // 扩展名必须匹配 FileOpenPicker.FileTypeFilter 中的定义 StorageFile file = await StorageFile.CreateStreamedFileFromUriAsync("mvp.gif", uri, RandomAccessStreamReference.CreateFromUri(uri)); if (_fileOpenPickerUI.CanAddFile(file)) { AddFileResult result = _fileOpenPickerUI.AddFile("myFile", file); lblMsg.Text = "选择的文件: " + file.Name; lblMsg.Text += Environment.NewLine; lblMsg.Text += "AddFileResult: " + result.ToString(); } }
internal async Task <IIpcResult> AddFileAsync(IDropItem dropItem, Func <string, bool> symlinkTester) { Contract.Requires(dropItem != null); // Check if the file is a symlink, only if the file exists on disk at this point; if it is a symlink, reject it outright. if (System.IO.File.Exists(dropItem.FullFilePath) && symlinkTester(dropItem.FullFilePath)) { return(new IpcResult(IpcResultStatus.ExecutionError, SymlinkAddErrorMessagePrefix + dropItem.FullFilePath)); } return(await WrapDropErrorsIntoIpcResult(async() => { IDropClient dropClient = await m_dropClientTask; AddFileResult result = await dropClient.AddFileAsync(dropItem); return IpcResult.Success(I($"File '{dropItem.FullFilePath}' {result} under '{dropItem.RelativeDropPath}' in drop '{DropName}'.")); })); }
public async Task <AddFileResult> AddFile(string fileFullPath, IFileHash fileHash, FileSize fileSize, DateTime dateTime, ConflictResolver?conflictResolver) { var hash = (FileHashYad?)fileHash; var _ = new YaDCommonRequest(HttpSettings, (YadWebAuth)Authent) .With(new YadGetResourceUploadUrlPostModel(fileFullPath, fileSize, hash?.HashSha256.Value, hash?.HashMd5.Value), out YadResponseModel <ResourceUploadUrlData, ResourceUploadUrlParams> itemInfo) .MakeRequestAsync().Result; var res = new AddFileResult { Path = fileFullPath, Success = itemInfo.Data.Status == "hardlinked" }; return(await Task.FromResult(res)); }
// 本 CachedFile 用于从 Remote 更新(由 app 更新 CachedFile) private async void btnPickCachedFileRemote_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e) { StorageFile file = await ApplicationData.Current.LocalFolder.CreateFileAsync(@"webabcdCachedFileUpdaterRemote.txt", CreationCollisionOption.ReplaceExisting); string textContent = "I am webabcd"; await FileIO.WriteTextAsync(file, textContent); /* * 设置 CachedFile,即将文件关联到 CachedFileUpdater * SetUpdateInformation(IStorageFile file, string contentId, ReadActivationMode readMode, WriteActivationMode writeMode, CachedFileOptions options); * file - 与 CachedFileUpdater 关联的文件 * contentId - 与 CachedFileUpdater 关联的文件标识 */ CachedFileUpdater.SetUpdateInformation(file, "cachedFileRemote", ReadActivationMode.NotNeeded, WriteActivationMode.AfterWrite, CachedFileOptions.RequireUpdateOnAccess); lblMsg.Text = "选择的文件: " + file.Name; AddFileResult result = _fileOpenPickerUI.AddFile("myFile", file); }
public ContractExecutionResult DummyAddFileGet( [FromQuery] Guid projectUid, [FromQuery] ImportedFileType fileType, [FromQuery] Guid fileUid, [FromQuery] string fileDescriptor, [FromQuery] long fileId, [FromQuery] DxfUnitsType dXfUnitsType) { var hasDxfTiles = fileType == ImportedFileType.Linework || fileType == ImportedFileType.Alignment || fileType == ImportedFileType.DesignSurface; var res = new AddFileResult(ContractExecutionStatesEnum.ExecutedSuccessfully, ContractExecutionResult.DefaultMessage) { MinZoomLevel = hasDxfTiles ? 15 : 0, MaxZoomLevel = hasDxfTiles ? 19 : 0, FileDescriptor = JsonConvert.DeserializeObject <FileDescriptor>(fileDescriptor), FileUid = fileUid, UserEmailAddress = "*****@*****.**" }; var message = $"DummyAddFileGet: res {res}. projectUid {projectUid} fileType {fileType} fileUid {fileUid} fileDescriptor {fileDescriptor} fileId {fileId} dXfUnitsType {dXfUnitsType}"; Console.WriteLine(message); return(res); }