KHello, Я использую ядро Asp.net для загрузки файлов в мою базу данных. Где у меня две базы данных, одна для создания и для файлов. Моего код выглядит следующим образом.Net Core Удалить загруженные файлы
public async Task<IActionResult> Create([Bind("ID,Name,Email,Job Title,ICollection<IFormFile> uploads, Track track)
{
if (ModelState.IsValid)
{
_context.Add(track);
// Uploading files for the Request Database
foreach (var upload in uploads)
{
if (upload.Length > 0)
{
// Getting file into buffer.
byte[] buffer = null;
using (var stream = upload.OpenReadStream())
{
buffer = new byte[stream.Length];
stream.Read(buffer, 0, (int)stream.Length);
}
// Converting buffer into base64 code.
string base64FileRepresentation = Convert.ToBase64String(buffer);
// Saving it into database.
_context.Upload.Add(new Request()
{
UploadName = string.Format("{0}_{1}", DateTime.UtcNow.ToString("yyyyMMddHHmmss"), Request.FileName),
Uploadcode = base64FileRepresentation,
TrackID = track.ID,
});
await _context.SaveChangesAsync();
}
}
await _context.SaveChangesAsync();
return RedirectToAction("Index");
}
return View(track);
}
Что я отслеживание сделать это в странице редактирования Я хочу иметь кнопку, чтобы удалить файл, который был загружен в трек .. Я попытался изменить удаление действие от контроллера к следующему коду, но он не работает
[HttpPost, ActionName("DeleteRequest")]
[ValidateAntiForgeryToken]
public async Task<IActionResult> DeleteRequest(int id)
{
var x= await _context.Upload.SingleOrDefaultAsync(m => m.UploadID == id);
_context.Upload.Remove(x);
await _context.SaveChangesAsync();
return RedirectToAction("Index");
}
Мой взгляд код
<a asp-action="DeleteRequest"><span class="glyphicon glyphicon-trash" style="color:red;"></span></a>
, когда я нажимаю его, оно принимает S мне пустую страницу с этим URL: локального хоста: 44444/Tracks/DeleteRequest
что это ошибка, которую вы получаете? –
Я не получаю сообщение об ошибке. Он просто ничего не делает. –
вы можете проверить на профилировщике/БД SQL, что эта запись удалена или нет или некоторая ошибка в запросе –