public async Task <IActionResult> Get([FromRoute] string authorization, int id) { var user = (TokenUser)HttpContext.Items["User"]; if (!await _storageValidation.CanOpen(id, user.Id)) { return(Ok(new byte[] { })); } var path = _pathGenerator.Generate(id); return(Ok(await _fileStorage.Get(path))); }
public async Task <IActionResult> Post(string authorization, ReplyCreateParameters parameters) { var reply = await _replyService.Create(parameters); if (reply == null) { return(Ok(new ReplyCreateResult())); } if (parameters.Files != null) { reply.Files = new List <StorageViewResult>(); foreach (var item in parameters.Files) { item.TicketId = reply.TicketId; var file = await _storageService.Create(reply.Id, item); var path = _pathGenerator.Generate(file.Id); await _fileStorage.Save(path, item.Bytes); reply.Files.Add(file); } } return(Ok(reply)); }
public async Task <ActionResult> Post(string authorization, [FromBody] TicketCreateParameters parameter) { var ticket = await _ticketService.Create(parameter); if (ticket == null) { return(Ok(new TicketCreateResult())); } if (parameter.Files != null) { ticket.Files = new List <StorageViewResult>(); foreach (var item in parameter.Files) { item.TicketId = ticket.Id; var file = await _storageService.Create(item); var path = _pathGenerator.Generate(file.Id); await _fileStorage.Save(path, item.Bytes); ticket.Files.Add(file); } } return(Ok(ticket)); }
/// <summary> /// 保存文件,返回完整文件路径 /// </summary> /// <param name="stream">文件流</param> /// <param name="fileName">文件名,包含扩展名</param> public string Save(byte[] stream, string fileName) { var path = _generator.Generate(fileName); stream.ToFile(path); return(path); }
/// <summary> /// 保存文件,返回完整文件路径 /// </summary> /// <param name="stream">文件流</param> /// <param name="fileName">文件名,包含扩展名</param> public string Save(byte[] stream, string fileName) { var path = _generator.Generate(fileName); using (new FileStream(path, FileMode.Create)) { } return(path); }
/// <summary> /// 保存文件,返回完整文件路径 w /// </summary> public async Task<string> SaveAsync() { var fileControl = Web.GetFile(); var path = _generator.Generate( fileControl.FileName ); var physicalPath = Common.GetWebRootPath( path ); var directory = Path.GetDirectoryName( physicalPath ); if( string.IsNullOrEmpty( directory ) ) throw new Warning( "上传失败" ); if( Directory.Exists( directory ) == false ) Directory.CreateDirectory( directory ); using( var stream = new FileStream( physicalPath, FileMode.Create ) ) { await fileControl.CopyToAsync( stream ); } return path; }
public void TestGenerate() { Assert.Equal(@"c:\a.txt", _generator.Generate("a.txt")); }
public void TestGenerate() { Assert.Equal(@"b/a-101112.txt", _generator.Generate("a.txt")); }
public void TestGenerate_Extension(string fileName) { Assert.Equal(@"b/random-101112.txt", _generator.Generate(fileName)); }