public IHttpActionResult Delete([FromBody] baseUserCallDocuments userDoc) { string userName = HttpContext.Current.GetUserName(); if (userName.Length == 0) { return(Unauthorized()); } if (userDoc.s3Key.Length == 0) { return(BadRequest()); } var userFile = new UploadUserCallDocuments() { s3Key = userDoc.s3Key, ID = userDoc.ID }; userFile.Delete(); return(Ok()); }
public async Task <int> Upload() { string userName = HttpContext.Current.GetUserName(); if (userName.Length == 0) { return(-1); } if (!Request.Content.IsMimeMultipartContent()) { throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); } var posted_filename = ""; var provider = new MultipartMemoryStreamProvider(); Dictionary <string, string> attributes = new Dictionary <string, string>(); Dictionary <string, byte[]> files = new Dictionary <string, byte[]>(); await Request.Content.ReadAsMultipartAsync(provider); foreach (var file in provider.Contents) { if (file.Headers.ContentDisposition.FileName != null) { var filename = file.Headers.ContentDisposition.FileName.Trim('\"'); posted_filename = filename; var buffer = await file.ReadAsByteArrayAsync(); files.Add(filename, buffer); } else { foreach (NameValueHeaderValue p in file.Headers.ContentDisposition.Parameters) { string name = p.Value; if (name.StartsWith("\"") && name.EndsWith("\"")) { name = name.Substring(1, name.Length - 2); } string value = await file.ReadAsStringAsync(); attributes.Add(name, value); } } } if (!attributes.ContainsKey("f_id")) { return(-1); } int f_id = 0; var desc = ""; if (!Int32.TryParse(attributes["f_id"], out f_id)) { return(-1); } if (attributes.ContainsKey("description")) { desc = attributes["description"]; } var fileList = new List <UploadUserCallDocuments>(); var returnid = -1; foreach (var file in files) { var userFile = new UploadUserCallDocuments() { fileName = file.Key, f_ID = f_id, description = desc }; if (file.Key.IndexOf(".") > -1) { userFile.AddFile(file.Value.ToArray(), file.Key.Substring(file.Key.IndexOf("."))); } else { userFile.AddFile(file.Value.ToArray(), file.Key); } await userFile.UploadtoAWS(); returnid = userFile.ID; } return(returnid); }