1
我有以下post函數,它基本上只需要一個多部分文章(fileDataModel.File是一個IFormFile對象),並將文件元數據保存到數據庫,並將文件保存到硬盤駕駛。ASP.NET Core 2.0無法返回EF觸摸的對象
[HttpPost("filedata")]
public async Task<IActionResult> PostFileData([FromForm] FileDataBindingModel fileDataModel)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
var contactData = await _context.ContactData.FirstOrDefaultAsync(e => e.Id == fileDataModel.ContactId);
if (contactData == null)
{
ModelState.AddModelError("ContactId", "No such contact exists.");
return BadRequest(ModelState);
}
FileData fileData = new FileData
{
ContactId = fileDataModel.ContactId,
Contact = contactData
};
var fileName = fileDataModel.File.FileName;
var FileStorageDir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "filestorage");
Directory.CreateDirectory(FileStorageDir);
var FileStoragePath = FileStorageDir + "\\" + DateTimeOffset.UtcNow.ToUnixTimeSeconds() + fileName;
using (FileStream fStream = new FileStream(FileStoragePath, FileMode.OpenOrCreate)) {
await fileDataModel.File.CopyToAsync(fStream);
}
fileData.FilePath = FileStoragePath;
fileData.OriginalFileName = fileName;
fileData.Id = Guid.NewGuid();
_context.FileData.Add(fileData);
await _context.SaveChangesAsync();
return Ok(fileData);
}
現在,這個功能能正常工作,確實它應該是什麼,但未能返回,如果在確定返回的對象()已經EF在某些時候(所以特地,FILEDATA和聯絡資料)被觸及。郵遞員沒有收到回覆。如果我輸入任何其他對象,它會返回對象就好。我似乎無法找到任何障礙,因爲我沒有任何例外或任何事情,只是無法返回。任何幫助將不勝感激。
自從我寫這個問題以來,這部分項目已被正式廢棄。這意味着我不得不在我自己的時間回到這個問題上,這個問題最近很少,但是謝謝你,我會嘗試你的建議。 – JasonX