private String GetFilePath(BrainWaveFile brainWaveFile) { return "Files/" + brainWaveFile.Id + brainWaveFile.FileType; }
public IHttpActionResult PutBrainWaveFile(BrainWaveFileUpload brainWaveFileUpload) { if (!ModelState.IsValid) { return BadRequest(ModelState); } var brainWaveFile = new BrainWaveFile { FileType = brainWaveFileUpload.FileType.ToLower(), AuthorId = brainWaveFileUpload.AuthorId, AuthorName = brainWaveFileUpload.AuthorName, DisplayName = brainWaveFileUpload.DisplayName, Description = brainWaveFileUpload.Description, DateUploaded = DateTime.Now }; if (brainWaveFile.FileType == null) { brainWaveFile.FileType = ""; } if (!brainWaveFile.FileType.StartsWith(".") && brainWaveFile.FileType != String.Empty) { brainWaveFile.FileType = "." + brainWaveFile.FileType; } brainWaveFile = _db.Files.Add(brainWaveFile); try { _db.SaveChanges(); } catch (DbUpdateException) { if (BrainWaveFileExists(brainWaveFile.Id)) { return Conflict(); } else { throw; } } var fileContents = brainWaveFileUpload.Body.ToCharArray(); byte[] fileBytes = new byte[fileContents.Length]; for (int i = 0; i < fileContents.Length; i++) { fileBytes[i] = (byte)fileContents[i]; } var uploadFileInfo = new FileInfo("Files/" + brainWaveFile.Id + brainWaveFile.FileType); uploadFileInfo.Directory.Create(); var uploadedFile = uploadFileInfo.Create(); uploadedFile.Write(fileBytes, 0, fileBytes.Length); uploadedFile.Close(); return CreatedAtRoute("DefaultApi", new { id = brainWaveFile.Id }, brainWaveFile); }