.net core 上载文件.NET核心Web API时出现问题
我正在尝试上载文件(仅.jpeg图像)并将其保存到我的服务器上。我为此编写了以下代码: 数据库上下文 我的控制器上传的方法.net core 上载文件.NET核心Web API时出现问题,.net-core,asp.net-core-webapi,insomnia,.net Core,Asp.net Core Webapi,Insomnia,我正在尝试上载文件(仅.jpeg图像)并将其保存到我的服务器上。我为此编写了以下代码: 数据库上下文 我的控制器上传的方法 public async Task AddFile(ifformfile uploadedFile) { 字符串路径=”; if(uploadedFile!=null) { //文件 path=“/Files/”+uploadedFile.FileName; 使用(var fileStream=newfilestream(_appEnvironment.WebRootPat
public async Task AddFile(ifformfile uploadedFile)
{
字符串路径=”;
if(uploadedFile!=null)
{
//文件
path=“/Files/”+uploadedFile.FileName;
使用(var fileStream=newfilestream(_appEnvironment.WebRootPath+path,FileMode.Create))
{
等待上载file.CopyToAsync(fileStream);
}
FileModel file=newfilemodel{Name=uploadedFile.FileName,Path=Path};
_applicationContext.Files.Add(文件);
_applicationContext.SaveChanges();
}
我要做的下一步是在的帮助下对其进行测试。我已经根据文档设置了所有A(传递多部分/表单数据头)并发送了请求。但是在上传文件中我看到了null
这是失眠的截图
以及结果的屏幕:
为什么uploadedFile
为空?错误在哪里?客户端中的参数名是image
不是预期的uploadedFile在控制器操作中定义的supploadedfile谢谢。很容易出错。请不要忘记将此作为解决方案。是的,php之后会有点不舒服(谢谢您的修复)
public class ApplicationContext : DbContext
{
private readonly string _connectionString;
public ApplicationContext(IConfiguration configuration)
{
_connectionString = configuration.GetConnectionString("Recipes");
}
public DbSet<FileModel> Files { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseNpgsql(_connectionString);
}
}
public class FileModel
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string Name { get; set; }
public string Path { get; set; }
}
public async Task<IActionResult> AddFile(IFormFile uploadedFile)
{
string path = "";
if (uploadedFile != null)
{
// путь к папке Files
path = "/Files/" + uploadedFile.FileName;
using (var fileStream = new FileStream(_appEnvironment.WebRootPath + path, FileMode.Create))
{
await uploadedFile.CopyToAsync(fileStream);
}
FileModel file = new FileModel { Name = uploadedFile.FileName, Path = path };
_applicationContext.Files.Add(file);
_applicationContext.SaveChanges();
}