问题标签 [iformfile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
561 浏览

c# - 如何处理 Razor Pages 中的 input=file / IFormFile 双向绑定

我有一个实体,它具有 byte[] 将徽标作为 varbinary 存储在数据库中。但是为了在 Razor 页面上使用这个模型,我扩展了它并添加了一个 IFormFile 属性来接收上传的文件。

在一种方法中,我从数据库中获取这家公司并相应地设置 IFormFile:

并且 UploadedLogo 已填充,我将其绑定在 Razor 页面上

顺便说一句,我使用Dropify作为文件上传插件和jquery-ajax-unobtrusive库来处理发布请求。这是post方法:

现在是场景:

  • 当我添加一个新公司时,我输入公司名称并从我的计算机上浏览一个文件,然后保存数据。我可以看到在 post 请求中收到的公司模型中的 Uploaded logo,然后将其转换为 byte[] 并保存在数据库中。一切都很好。下面是 fiddler 捕获: Fiddler capture for INSERT
  • 当我尝试编辑公司时,问题就开始了。我打开公司,服务获取数据,将 byte[] 转换为 IFormFile,数据(名称 + 徽标)显示在表单上。我只是编辑名称,不要触摸徽标,让它保持原样,然后点击保存。此时,在 post request 中收到的 company model 中 Uploaded logo 为空。下面是 fiddler 捕获: Fiddler capture for UPDATE

我可以清楚地看到发布的请求捕获的差异。在编辑的情况下该文件不存在。但我不知道如何解决这个问题。我已经为此伤脑筋了一天,有人可以帮我解决这个问题吗?

更新:还添加了提琴手捕获。

0 投票
2 回答
989 浏览

c# - 我们如何在 asp.net core API 控制器中上传带有其他参数的图像?

这是我的邮递员请求 => https://i.stack.imgur.com/ZRp49.png

这是我的控制器方法 https://i.stack.imgur.com/V2ITY.png

实际上我有这样的 URL - https://localhost:1111/api/user/1/avatar 现在当我点击我的端点时,我收到了类似的错误

“System.InvalidOperationException:无法创建“Microsoft.AspNetCore.Http.FormFile”类型的实例。模型绑定的复杂类型不能是抽象类型或值类型,并且必须具有无参数构造函数。或者,给“avatar”参数一个非-null 默认值。”

如何使用上述 URL 上传图片?我正在使用 ASP.Net 核心 3.1 Web API。

0 投票
1 回答
1872 浏览

asp.net-core - 无法在 ASP.NET Core Web API 中上传图像文件 - POST 方法

我试图上传单个图像文件。示例代码如下:

这是我注意到的:

  1. 调用此 API 会自动停止服务。我尝试了很多次,它总是关闭它。当我进行其他 API 调用时,它并没有停止服务。仅供参考

  2. 我也尝试从 POSTMAN 拨打电话。这一次,它没有关闭服务,但我不断收到错误:Failed to read the request form. Missing content-type boundary. 请注意,我将 Content-Type 指定为multipart/form-data. 当我将边界指定为小于最大值的数字时,它仍然会出错。即使我取消注释RequestFormLimit您在上面看到的属性,它也没有帮助。

那么我在这里缺少什么?我只需要它来上传单个图像文件。

0 投票
0 回答
307 浏览

asp.net-core - .NET Core 中的 IFormFile vs byte[] 和文件上传最佳实践

我正在使用 .NET CORE 设计一个 REST API 控制器,以便我可以上传文件,我应该在模型的请求中使用 IFormFile 还是 byte[] ?

0 投票
0 回答
59 浏览

c# - 如何将大图像文件上传到云资产管理服务(Cloudinary)?

我正在尝试使用 将大图像文件上传到 cloudinary IFormFile,但出现以下错误:

该代码使用文件流上传图像:

videouploadresult只是一个简单的类,它在上传到 Cloudinary 时具有文件的和publicid属性url。有没有其他方法可以通过 API 上传大文件?还是代码有问题?

它适用于 30MB 以下的文件,我还允许我的 kestrel sevrer 能够上传高达 200MB 的文件,但我仍然遇到错误。我认为该错误源于尝试打开大文件的读取流,并且我已经阅读过使用IFormFile大文件不好的地方。但我还没有看到任何替代方案。

0 投票
1 回答
116 浏览

ajax - Asp.net Core 3.1 - 上传带有列表的文件 via AJAX call & send it to Controller
public Class MainModel
{
    public IFormFile PDF { get; set; }

    public List<TempModel> List1{ get; set; }

    public List<TempModel1>

I tried almost everything. Can you please help to get these details to be sent to the server-side? In Controller, I am not getting any values from AJAX Call. URL is correct, it is hitting the Controller Action Method but values are returning null.

What is the correct way to accomplish this task as I Have tried many things but it did not work out.


Here is a demo:

View:

Controller:

result: enter image description here

0 投票
0 回答
71 浏览

c# - 如何以正确的方式将字节数组转换为 FormFile?

此示例从 html 创建 pdf 字节数组。我想在电子邮件附件中添加一些文件。如何以正确的方式将字节数组转换为 FormFile?
这是我的代码:

0 投票
0 回答
59 浏览

json - 让 Web Api 解压并验证通过 multipart/form-data 发布的 JSON

我正在发送multipart/form-data到我的一种操作方法,因为除了 JSON 之外,我还需要上传一个文件。所以在服务器端它看起来像这样:

这是我的要求:

因此,有效的 JSON 被发送为ItemsFromJson,但模型绑定不起作用。请注意,在以下屏幕截图中,ItemsFromJson.Count尽管项目以[{"Description":"my first item","Amount":"123"}]. 在此处输入图像描述

multipart/form-data发送请求时如何获得 JSON 反序列化,尤其是模型验证?我知道我可以在我的ItemPostRequest类中创建一个字符串属性并手动反序列化 JSON。但这仍然会缺少属性Item类中的模型验证Description!?

0 投票
1 回答
1963 浏览

c# - 尝试将 base64String 转换为 IFormFile 会在 C# 中引发 SystemInvalidOperation 异常

我正在尝试将 base64String 列表转换为 IFormFile 列表。当我尝试时,MemoryStream stream = new MemoryStream(bytes)我得到了一个stream.ReadTimeout SystemInvalidOperation. 那么为什么它不起作用?

这是我的代码:

我的堆栈跟踪:

0 投票
1 回答
95 浏览

asp.net - Razor 页面 IFormFile .Net 5.0 附件标题验证

我正在使用 .Net 5.0 (Razor Pages) 和 IFormFile 上传用户图像,在 ASP.NET 中我用来验证文件的标题以确保上传的文件有效,例如不要将 EXE 文件扩展名更改为Jpg 并上传它,所以对验证 IFormFile 的标题有帮助吗?

ASP.NET 中使用的函数:我需要在 Razor Pages 中实现