public async Task <CmsFile?> ReadFile(string fileName) { var response = await _client.DownloadFileAsByteArrayAsync(fileName); return(new CmsFile { Bytes = response.file, ContentType = response.contentType }); }
public async Task DownloadFileAsByteArrayAsync() { string skylink = "AAAAQZg5XQJimI9FGR73pOiC2PnflFRh03Z4azabKz6bVw"; var result = await _client.DownloadFileAsByteArrayAsync(skylink); Assert.IsNotNull(result.file); Assert.AreEqual("text/plain", result.contentType); Assert.AreEqual("test.txt", result.fileName); }
public async Task <string> GetMessage([FromBody] GetMessageRequest req) { //Check hash var hashKey = SiaSkynetClient.GenerateKeys(req.Address); var cipherData = Utils.HexStringToByteArray(req.SecretHash); var decrypt = Utils.Decrypt(cipherData, hashKey.privateKey); if (decrypt == null) { throw new Exception("Invalid hash."); } string address = req.Address.ToLowerInvariant(); string seed = $"{secretConfig.SkynetSeed}-{address}"; var key = SiaSkynetClient.GenerateKeys(seed); var encryptedData = await client.DownloadFileAsByteArrayAsync(req.Skylink); var data = Utils.Decrypt(encryptedData.file, key.privateKey); return(Encoding.UTF8.GetString(data)); }