public async Task <IActionResult> PostPrintables([FromForm] Printables printables) { try { if (Request.Form.Files.Count > 0) { var file = Request.Form.Files[0]; var folderName = Path.Combine("Resources", "Printables"); var pathToSave = Path.Combine(Directory.GetCurrentDirectory(), folderName); Random rand = new Random(); var fileName = rand.Next(1, 100000).ToString() + ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim('"'); var fullPath = Path.Combine(pathToSave, fileName); var dbPath = Path.Combine(folderName, fileName); using (var stream = new FileStream(fullPath, FileMode.Create)) { file.CopyTo(stream); } printables.SrcURL = dbPath; } _context.Printables.Add(printables); await _context.SaveChangesAsync(); } catch (Exception ex) { return(StatusCode(500, "Internal server error")); } return(CreatedAtAction("GetPrintables", new { id = printables.Id }, printables)); }
public override string ToString() { if (Printables != null && Printables.Count > 0) { return(Printables.ToList()[0].Value.ToString()); } return("NULL"); }
public async Task <IActionResult> PutPrintables([FromRoute] int id, [FromForm] Printables printables) { if (id != printables.Id) { return(BadRequest()); } if (Request.Form.Files.Count > 0) { try { var uploads = Path.Combine(Directory.GetCurrentDirectory(), printables.SrcURL); if (System.IO.File.Exists(uploads)) { System.IO.File.Delete(uploads); } } catch (Exception e) { //file didnt exist } var file = Request.Form.Files[0]; var folderName = Path.Combine("Resources", "Printables"); var pathToSave = Path.Combine(Directory.GetCurrentDirectory(), folderName); Random rand = new Random(); var fileName = rand.Next(1, 100000).ToString() + ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim('"'); var fullPath = Path.Combine(pathToSave, fileName); var dbPath = Path.Combine(folderName, fileName); using (var stream = new FileStream(fullPath, FileMode.Create)) { file.CopyTo(stream); } printables.SrcURL = dbPath; } _context.Entry(printables).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!PrintablesExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
private void tsmi_Load_Click(object sender, EventArgs e) { if (openFileDialog1.ShowDialog(this) == DialogResult.OK) { printables = Printables.LoadFromFiles(openFileDialog1.FileName); lvPrintables.Items.Clear(); foreach (var printable in printables) { AddItem(printable); } temporarlyPrintable = null; pbCanvas.Select(); RefreshScreen(true); } }