public override Stream GetFileData(IVirgoFile file) { var ossSettings = _config.FileUploadOptions.Settings.Where(x => x.Key.ToLower() == "alioss").Select(x => x.Value).FirstOrDefault(); FileHandlerOptions groupInfo = null; if (string.IsNullOrEmpty(file.ExtraInfo)) { groupInfo = ossSettings?.FirstOrDefault(); } else { groupInfo = ossSettings?.Where(x => x.GroupName.ToLower() == file.ExtraInfo.ToLower()).FirstOrDefault(); if (groupInfo == null) { groupInfo = ossSettings?.FirstOrDefault(); } } if (groupInfo == null) { return(null); } OssClient client = new OssClient(groupInfo.ServerUrl, groupInfo.Key, groupInfo.Secret); var rv = new MemoryStream(); client.GetObject(new GetObjectRequest(groupInfo.GroupLocation, file.Path), rv); rv.Position = 0; return(rv); }
public override void DeleteFile(IVirgoFile file) { var ossSettings = _config.FileUploadOptions.Settings.Where(x => x.Key.ToLower() == "alioss").Select(x => x.Value).FirstOrDefault(); FileHandlerOptions groupInfo = null; if (string.IsNullOrEmpty(file.ExtraInfo)) { groupInfo = ossSettings?.FirstOrDefault(); } else { groupInfo = ossSettings?.Where(x => x.GroupName.ToLower() == file.ExtraInfo.ToLower()).FirstOrDefault(); if (groupInfo == null) { groupInfo = ossSettings?.FirstOrDefault(); } } if (groupInfo == null) { return; } try { OssClient client = new OssClient(groupInfo.ServerUrl, groupInfo.Key, groupInfo.Secret); client.DeleteObject(groupInfo.GroupLocation, file.Path); } catch { } return; }
public override Stream GetFileData(IVirgoFile file) { string fullPath = Path.GetFullPath(_config.HostRoot + file.Path); if (!File.Exists(fullPath)) { return(null); } return(File.OpenRead(fullPath)); }
public override void DeleteFile(IVirgoFile file) { var ossSettings = _config.FileUploadOptions.Settings.Where(x => x.Key.ToLower() == "tencos").Select(x => x.Value).FirstOrDefault(); FileHandlerOptions groupInfo = null; if (string.IsNullOrEmpty(file.ExtraInfo)) { groupInfo = ossSettings?.FirstOrDefault(); } else { groupInfo = ossSettings?.Where(x => x.GroupName.ToLower() == file.ExtraInfo.ToLower()).FirstOrDefault(); if (groupInfo == null) { groupInfo = ossSettings?.FirstOrDefault(); } } if (groupInfo == null) { return; } try { CosXmlConfig config = new CosXmlConfig.Builder() .SetConnectionTimeoutMs(60000) //设置连接超时时间,单位毫秒,默认45000ms .SetReadWriteTimeoutMs(40000) //设置读写超时时间,单位毫秒,默认45000ms .IsHttps(false) //设置默认 HTTPS 请求 .SetAppid(groupInfo.AppId) //设置腾讯云账户的账户标识 APPID .SetRegion(groupInfo.GroupName) .Build(); long durationSecond = 600; //每次请求签名有效时长,单位为秒 QCloudCredentialProvider qCloudCredentialProvider = new DefaultQCloudCredentialProvider(groupInfo.Secret, groupInfo.Key, durationSecond); CosXml cosXml = new CosXmlServer(config, qCloudCredentialProvider); string bucket = groupInfo.GroupLocation + "-" + groupInfo.AppId; string key = file.FileName; //对象键 DeleteObjectRequest request = new DeleteObjectRequest(bucket, key); //执行请求 DeleteObjectResult result = cosXml.DeleteObject(request); //请求成功 Console.WriteLine(result.GetResultInfo()); } catch (COSXML.CosException.CosClientException clientEx) { //请求失败 Console.WriteLine("CosClientException: " + clientEx); } catch (COSXML.CosException.CosServerException serverEx) { //请求失败 Console.WriteLine("CosServerException: " + serverEx.GetInfo()); } return; }
public override void DeleteFile(IVirgoFile file) { if (string.IsNullOrEmpty(file?.Path) == false) { try { File.Delete(file?.Path); } catch { } } }
public virtual Stream GetFileData(IVirgoFile file) { return(null); }
public virtual void DeleteFile(IVirgoFile file) { }