gpt4 book ai didi

c# - postman 以 json 和图像发送数据

转载 作者:行者123 更新时间:2023-12-05 02:37:01 24 4
gpt4 key购买 nike

我创建了一个 API,它正在向数据库中添加数据,包括值和图像。

在 postman 中,我调用它并在表单数据中设置图像,在 JSON 中设置原始值,但在图像中我在源代码对象中得到空值。以下是屏幕截图。

我需要两件事的帮助:

  1. 为什么我在源代码中得到 Null 图像值,请检查下图。
  2. 我如何使用 postman 发送图像和数据,检查下面的屏幕截图是否可以我尝试过?

第一个屏幕截图是 postman ,我在其中发送 json 格式的数据:

enter image description here

第二个屏幕截图是 postman ,我在 postman 中以相同的请求发送图像

enter image description here

现在在第三张图片中,您可以在图片中看到它显示的是 Null 而不是值。

enter image description here

所以我不明白为什么图像会变成 null..下面是代码

public async Task<int> Create(UserPreference _object)
{
if(_object.Image != null)
{
var webRootPath = hostingEnv.WebRootPath;
var fileName = Path.GetFileName(_object.Image.FileName);
var filePath = Path.Combine(hostingEnv.WebRootPath, "images\\User", fileName);

using(var fileStream = new FileStream(filePath, FileMode.Create))
{
await _object.Image.CopyToAsync(fileStream);
}

_object.ImagePath = filePath;
}

var obj = await applicationDbContext.UserPreferences.AddAsync(_object);
return applicationDbContext.SaveChanges();
}

enter image description here

[HttpPost]
[Route("CreateUserPreference")]
public async Task<ActionResult> CreateUserPreference([FromBody] UserPreference userPreference)
{
if (ModelState.IsValid)
{
try
{
var userPreferenceId = await _userPreference.Create(userPreference);
if (userPreferenceId > 0)
return Ok("User Preference has added");
}
catch(Exception)
{
return BadRequest();
}
}
return BadRequest();
}


[Display(Name = "Name")]
public string Name { get; set; } = "";

[Display(Name = "Location")]
public string Location { get; set; } = "";

[Display(Name = "Date of Birth")]
public DateTime DateOfBirth { get; set; }

[Display(Name = "About Me")]
public string AboutMe { get; set; } = "";

[Display(Name = "Match Preference")]
public string MatchPreference { get; set; } = "";

[Display(Name = "Play Score")]
public string PlayScore { get; set; } = "";

[Display(Name = "Location")]
public string LocationPreference { get; set; } = "";

[Display(Name = "CreatedOn"), DataType(DataType.Date)]
public DateTime CreatedOn { get; set; } = DateTime.Now;

[Display(Name ="Upload Photo")]
public string ImagePath { get; set; } = "";

[NotMapped]
public IFormFile Image { get; set; }

[ForeignKey("User")]
public int UserId { get; set; }
public virtual User User { get; set; }

最佳答案

enter image description here您不能同时发送表单数据和 JSON 正文要解决您的问题,请发送图像和您的其他信息作为表格日期更多详情请看截图

关于c# - postman 以 json 和图像发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70096013/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com