Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [Route("upload")]
- [HttpPost]
- public async Task<HttpResponseMessage> Upload()
- {
- try
- {
- if (!Request.Content.IsMimeMultipartContent()) {
- Request.CreateResponse(HttpStatusCode.UnsupportedMediaType);
- }
- var provider = GetMultipartProvider();
- var result = await Request.Content.ReadAsMultipartAsync(provider);
- //Get Album name from Form
- var titleOfAlbum = GetTitleOfAlbum(provider);
- //get path to file
- var pathToCoverDecoded = result.FileData.First().LocalFileName;
- var a = "../Files/" + pathToCoverDecoded.Substring(pathToCoverDecoded.IndexOf("BodyPart"));
- Album al = new Album();
- al.Title = titleOfAlbum;
- al.PathToCover = a;
- db.Albums.Add(al);
- db.SaveChanges();
- return new HttpResponseMessage(HttpStatusCode.OK);
- }
- catch (System.Exception e)
- {
- return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e);
- }
- }
- private string GetDesereleazedFileName(MultipartFileData fileData)
- {
- var fileName = GetFileName(fileData);
- return JsonConvert.DeserializeObject(fileName).ToString();
- }
- private string GetFileName(MultipartFileData fileData)
- {
- return fileData.Headers.ContentDisposition.FileName;
- }
- private MultipartFormDataStreamProvider GetMultipartProvider()
- {
- var uploadFolder = HttpContext.Current.Server.MapPath("~/Files");
- if (Directory.Exists(uploadFolder) == false)
- {
- Directory.CreateDirectory(uploadFolder);
- }
- return new MultipartFormDataStreamProvider(uploadFolder);
- }
- private string GetTitleOfAlbum(MultipartFormDataStreamProvider provider)
- {
- var titleOfAlbum = "";
- foreach(var key in provider.FormData.GetValues(0))
- {
- titleOfAlbum = key;
- }
- return titleOfAlbum;
- }
- }
- <div ng-repeat="itm in albumsArray">
- <img src="{{itm.pathToCover}}" width="100"/>
- <div ng-repeat="itm in albumsArray">
- <img src="../Files/BodyPart_efe0671e-f9fa-4ab3-8503-18ea042eb6ea" width="100"/>
- var bytes = Encoding.UTF8.GetBytes(a);
- var base64 = "~/Files/" + Convert.ToBase64String(bytes);
Add Comment
Please, Sign In to add comment