问题标签 [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.
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
我可以清楚地看到发布的请求捕获的差异。在编辑的情况下该文件不存在。但我不知道如何解决这个问题。我已经为此伤脑筋了一天,有人可以帮我解决这个问题吗?
更新:还添加了提琴手捕获。
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。
asp.net-core - 无法在 ASP.NET Core Web API 中上传图像文件 - POST 方法
我试图上传单个图像文件。示例代码如下:
这是我注意到的:
调用此 API 会自动停止服务。我尝试了很多次,它总是关闭它。当我进行其他 API 调用时,它并没有停止服务。仅供参考
我也尝试从 POSTMAN 拨打电话。这一次,它没有关闭服务,但我不断收到错误:
Failed to read the request form. Missing content-type boundary.
请注意,我将 Content-Type 指定为multipart/form-data
. 当我将边界指定为小于最大值的数字时,它仍然会出错。即使我取消注释RequestFormLimit
您在上面看到的属性,它也没有帮助。
那么我在这里缺少什么?我只需要它来上传单个图像文件。
asp.net-core - .NET Core 中的 IFormFile vs byte[] 和文件上传最佳实践
我正在使用 .NET CORE 设计一个 REST API 控制器,以便我可以上传文件,我应该在模型的请求中使用 IFormFile 还是 byte[] ?
c# - 如何将大图像文件上传到云资产管理服务(Cloudinary)?
我正在尝试使用 将大图像文件上传到 cloudinary IFormFile
,但出现以下错误:
该代码使用文件流上传图像:
videouploadresult
只是一个简单的类,它在上传到 Cloudinary 时具有文件的和publicid
属性url
。有没有其他方法可以通过 API 上传大文件?还是代码有问题?
它适用于 30MB 以下的文件,我还允许我的 kestrel sevrer 能够上传高达 200MB 的文件,但我仍然遇到错误。我认为该错误源于尝试打开大文件的读取流,并且我已经阅读过使用IFormFile
大文件不好的地方。但我还没有看到任何替代方案。
c# - 如何以正确的方式将字节数组转换为 FormFile?
此示例从 html 创建 pdf 字节数组。我想在电子邮件附件中添加一些文件。如何以正确的方式将字节数组转换为 FormFile?
这是我的代码:
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
!?
c# - 尝试将 base64String 转换为 IFormFile 会在 C# 中引发 SystemInvalidOperation 异常
我正在尝试将 base64String 列表转换为 IFormFile 列表。当我尝试时,MemoryStream stream = new MemoryStream(bytes)
我得到了一个stream.ReadTimeout SystemInvalidOperation
. 那么为什么它不起作用?
这是我的代码:
我的堆栈跟踪:
asp.net - Razor 页面 IFormFile .Net 5.0 附件标题验证
我正在使用 .Net 5.0 (Razor Pages) 和 IFormFile 上传用户图像,在 ASP.NET 中我用来验证文件的标题以确保上传的文件有效,例如不要将 EXE 文件扩展名更改为Jpg 并上传它,所以对验证 IFormFile 的标题有帮助吗?
ASP.NET 中使用的函数:我需要在 Razor Pages 中实现