private async Task HandleFileDownloadRequest(FileDownloadRequestMessage msg) { var filepath = $"{UserPath}/{msg.filename}"; string data = await IOController.Instance.Read(filepath); var resp = new FileDownloadResponseMessage { success = data != null, data = data }; Console.WriteLine($"file length: {data.Length}"); await SendMessage(resp); }
public async Task <IOFile> RequestFileDownload(LockerObject fileInfo, string password = "") { IOFile res = null; var msg = new FileDownloadRequestMessage { filename = fileInfo.name }; await SendMessage(msg); var resp = await WaitForRequestResponse <FileDownloadResponseMessage>(60000, MessageType.FileDownloadResponse); if (resp != null && resp.success) { var fileJson = fileInfo.encrypted? Encryption.Decrypt(resp.data, password): resp.data; res = JsonConvert.DeserializeObject <IOFile>(fileJson); } return(res); }