ASP.NET 核心 2.2
model.file 或其他文件。不要来文件。每次都为空。嵌套 ajax 或运行顺序 ajax。
我想更新个人资料。我能。当文件上传到工作中时,我爆炸了。
使用不同的 ajax 查询进行文件上传和用户更新?我应该期望在不同的方法中使用不同的 ajax 查询吗?还是在单个 ajax 查询中处理?
对不起,我的英语不好。
控制器:
public IActionResult UpdateProfile(ProfileModel model, IFormFile file)
{
var result = userOperation.UpdateUser(model).Result;
if (result.Succeeded)
{
return Ok();
}
else
{
return BadRequest();
}
}
简介型号:
public class ProfileModel
{
public string UserId { get; set; }
public string username { get; set; }
public string Name { get; set; }
public string SurName { get; set; }
public string ProfilePhoto { get; set; }
public IFormFile file { get; set; }
}
查询:
var isim = $('#name');
var soyisim = $('#surname');
var menu = $('#navInside');
var cikis = $('#logout');
var updateCikis = $('#exit');
var update = $('#update');
var goUpdate = $('#goUpdate');
var kaydet = $('#kaydet');
var dosya = $('input[type=file]');
var username2 = $('#username').val();
kaydet.click(function (event) {
event.preventDefault();
$.ajax({
url: '/Registered/UpdateProfile',
data: { Name: isim.val(), SurName: soyisim.val(), username: '@User.Identity.Name' },
type: 'POST',
success: function (result) {
console.log('basarili güncelleme');
var formData = new FormData();
formData.append('file', dosya[0].files[0].name);
console.log(dosya[0].files[0].name);
console.log(JSON.stringify(dosya[0].files[0]));
$.ajax({
url: '/Registered/UpdateProfile',
data: { Name: isim.val(), SurName: soyisim.val(), username: '@User.Identity.Name', file: formData },
processData: false,
contentType: false,
type: 'POST',
success: function(){
alert('foto da gittiii');
}
});
}
});