news 2026/5/30 14:51:37

c# 上传文件,前端FormData

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
c# 上传文件,前端FormData
[HttpPost] [Description("上传发票")] public async Task<APIResult> UploadMultipleFiles([FromForm] List<IFormFile> files,[FromForm] string id) { return await _IStoreArchivesService.UploadMultipleFiles(files,id); }
public async Task<APIResult> UploadMultipleFiles(List<IFormFile> files, string id) { List<h_tk_supplierreconciliationpushorgfile> h_Tk_Supplierreconciliationpushorgfiles = new List<h_tk_supplierreconciliationpushorgfile>(); List<h_tk_supplierreconciliationreviewrecord> h_Tk_Supplierreconciliationreviewrecords = new List<h_tk_supplierreconciliationreviewrecord>(); foreach (var file in files) { var path = App.WebHostEnvironment.WebRootPath + "/Upload/Img/SupFp/"; var fileExtension = Path.GetExtension(file.FileName); using (var stream = file.OpenReadStream()) { var filename = await App.GetRequiredService<IFilesService>().postfile(stream, path, fileExtension); h_Tk_Supplierreconciliationpushorgfiles.Add(new h_tk_supplierreconciliationpushorgfile { supplierreconciliationpushorgid = id.ParseToLong(), fileurl = filename, }); } } var res = await db.Ado.UseTranAsync(async () => { if (h_Tk_Supplierreconciliationpushorgfiles.Count > 0) { await db.Insertable(h_Tk_Supplierreconciliationpushorgfiles).ExecuteCommandAsync(); } }); if (res.IsSuccess) { return APIResult.Success("上传成功"); } else { return APIResult.Error("上传失败" + res.ErrorMessage); } }
public async Task<string> postfile(Stream stream, string path, string fileExtension) { if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } var fileName = Guid.NewGuid().ToString("N") + fileExtension; var fullPath = Path.Combine(path, fileName); // 保存文件 using (var fileStream = new FileStream(fullPath, FileMode.Create, FileAccess.Write)) { await stream.CopyToAsync(fileStream); } return fileName; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/26 18:20:24

产品多租户功能上新:一份写给开发者的集成与适配指南

多租户架构不是简单的技术选择&#xff0c;而是一场关于产品商业化命运的架构革命引言&#xff1a;为什么多租户功能决定了你的SaaS能走多远&#xff1f;最近&#xff0c;我们团队刚刚完成了产品的多租户架构改造。上线第一天&#xff0c;就有一位企业客户反馈&#xff1a;“我…

作者头像 李华
网站建设 2026/5/19 20:47:05

autogen能做到但langgraph做不到的能力有哪些

AutoGen 相比 LangGraph&#xff0c;在原生对话驱动协同、开箱即用角色模板、内置代码执行与安全沙箱、灵活人在回路交互、Azure 生态深度适配这五个方面具备 LangGraph 难以直接实现的能力&#xff0c;以下是详细解析。核心能力差异&#xff08;AutoGen 独有 / 显著领先&#…

作者头像 李华
网站建设 2026/5/30 11:07:34

大数据分析中的文本挖掘:非结构化数据决策

大数据分析中的文本挖掘:非结构化数据决策 关键词:文本挖掘、非结构化数据、自然语言处理、情感分析、主题建模、词嵌入、决策支持 摘要:本文深入探讨大数据分析中文本挖掘技术的核心原理和应用。我们将从非结构化数据的特点出发,逐步解析文本挖掘的关键技术流程,包括文本…

作者头像 李华
网站建设 2026/5/23 5:47:07

系列教程十四 | 基于CosyVoice 2.0实现语音风格迁移

一.背景介绍 随着生成式人工智能的快速发展&#xff0c;语音合成&#xff08;Text-to-Speech, TTS&#xff09;技术正在迈向更自然、更智能、更具情感表达的新时代。过去的 TTS 模型虽然已在音质和语义准确度方面取得显著进步&#xff0c;但在跨语言、情感表达、个性化模拟等方…

作者头像 李华