当前位置: 首页 > news >正文

C# MVC controller 上传附件及下载附件(笔记)

描述:Microsoft.AspNetCore.Http.IFormFileCollection 实现附件快速上传功能代码。

上传附件代码

        [Route("myUploadFile")][HttpPost]public ActionResult MyUploadFile([FromForm] upLoadFile rfile){string newFileName = Guid.NewGuid().ToString("N") + rfile.mingcheng;string dirPath = Path.Combine(new string[] { Environment.CurrentDirectory, "wwwroot", "File", "FileUpload", newFileName });if (System.IO.Directory.Exists(dirPath)){System.IO.Directory.CreateDirectory(dirPath);System.Threading.Thread.Sleep(0);}string filePath = Path.Combine(new string[] { dirPath, newFileName });var t = Request.Form.Files[0];using (FileStream fs = System.IO.File.Open(filePath, FileMode.OpenOrCreate)){string fileName = rfile.files[0].FileName;byte[] bs = new byte[rfile.files[0].Length];GetPicThumbnail(rfile.files[0].OpenReadStream()).Read(bs, 0, bs.Length);fs.Write(bs, 0, bs.Length);fs.Close();}return new ObjectResult(new { code = "1", msg = "文件上传成功" });}

upLoadFile Model类定义

    public class upLoadFile{public string mingcheng { get; set; }public Microsoft.AspNetCore.Http.IFormFileCollection files { get; set; }public string miaoshu { get; set; }}

附件下载代码:

      [Route("myGetFile")][HttpGet]public ActionResult MyGetFile(string id){PhysicalFileResult f = new PhysicalFileResult(@"E:\work\codes\技术积累\临时\weixinshare\weixinshare\weixinshare\wwwroot\File\weixinimg\2edf0b9324cb44edaa7d73ea46ab0b15.jpg", "application/file");f.FileDownloadName = "ddd.jpg";f.EnableRangeProcessing = true;f.LastModified = DateTimeOffset.Now;return f;}

相关文章:

C# MVC controller 上传附件及下载附件(笔记)

描述:Microsoft.AspNetCore.Http.IFormFileCollection 实现附件快速上传功能代码。 上传附件代码 [Route("myUploadFile")][HttpPost]public ActionResult MyUploadFile([FromForm] upLoadFile rfile){string newFileName Guid.NewGuid().ToString(&quo…...

安装element-plus报错:Conflicting peer dependency: eslint-plugin-vue@7.20.0

VSCode安装element-plus报错: D:\My Programs\app_demo>npm i element-plus npm ERR! code ERESOLVE npm ERR! ERESOLVE could not resolve npm ERR! npm ERR! While resolving: vue/eslint-config-standard6.1.0 npm ERR! Found: eslint-plugin-vue8.7.1 npm E…...

【操作系统】进程和线程对照解释

进程(Process)和线程(Thread)都是操作系统中用于执行任务的基本单位,但它们有着不同的特点和使用方式。 进程(Process): 进程是正在运行的程序的实例。一个程序在运行时会被操作系统…...

4用opencv玩转图像2

opencv绘制文字和几何图形 黑色底图 显示是一张黑色图片 使用opencv画圆形 #画一个圆 cv2.circle(imgblack_img,center(400,400),radius100,color(0,0,255),thickness10) 画实心圆 只需要把thickness-1。 cv2.circle(imgblack_img,center(500,600),radius50,color(0,0,255),t…...

Swagger的使用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言1 .介绍2. 使用步骤完整的WebMvcConfiguration.java 3. 常用注解 前言 1 .介绍 Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RE…...

python高阶技巧

目录 设计模式 单例模式 具体用法 工厂模式 优点 闭包 案例 修改闭包外部变量 闭包优缺点 装饰器 装饰器原理 装饰器写法 递归 递归的调用过程 递归的优缺点 用递归计算阶乘 设计模式 含义:设计模式是一种编程套路,通过这种编程套路可…...

Linux和Windows安装MySQL服务

Linux和Windows安装MySQL服务 1 Linux安装MySQL服务1.1 安装1.2 服务端启动1.3 客户端连接 2 Windows安装MySQL服务2.1官网下载安装包(windows)并解压2.2 配置系统环境变量2.3 服务端启动(管理员DOS)2.4 客户端连接(管理员DOS) 3 修改密码4 Windows问题 1 Linux安装MySQL服务 …...

Vue3 第四节 自定义hook函数以及组合式API

1.自定义hook函数 2.toRef和toRefs 3.shallowRef和shallowReactive 4.readonly和shallowReadonly 5.toRaw和markRaw 6.customref 一.自定义hook函数 ① 本质是一个函数,把setup函数中使用的Composition API 进行了封装,类似于vue2.x中的mixin 自定义hook函数…...

门面模式(C++)

定义 为子系统中的一组接口提供一个一致(稳定) 的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用(复用)。 应用场景 上述A方案的问题在于组件的客户和组件中各种复杂的子系统有了过多的耦合,随着外部客户程序和各子…...

ASP.NET Core SignalR

ASP.NET Core SignalR是一个开发实时网络应用程序的框架,它使用WebSocket作为传输协议,并提供了一种简单和高效的方式来实现实时双向通信。 SignalR使用了一种称为"Hub"的概念来管理连接和消息的传递。开发者可以编写自己的Hub类,…...

auto-changelog的简单使用

auto-changelog的简单使用 自动化生成Git提交记录,CHANGELOG.md文件 github:https://github.com/cookpete/auto-changelog 安装 npm install -g auto-changelog配置脚本 package.json文件下 "scripts": {"changelog": "aut…...

map 比较(两个map的key,value 是否一样)

1. 用equals 比较 public static void main(String[] args) {List<Map<String,Object>> list new ArrayList<>();Map<String,Object> map1 new HashMap<>();map1.put("name","郭");map1.put("objId","1&quo…...

LayUI之入门

目录 1.什么是layui 2.layui、easyui与bootstrap的对比 有趣的对比方式&#xff0c;嘿嘿嘿.... easyuijqueryhtml4&#xff08;用来做后台的管理界面&#xff09; 半老徐娘 bootstrapjqueryhtml5 美女 拜金 layui 清纯少女 2.1 layui和bootstrap对比&#xff08;这两个都属…...

【Linux】Linux下git的使用

文章目录 一、什么是git二、git发展史三、Gitee仓库的创建1.新建仓库2.复制仓库链接3.在命令行克隆仓库3.1仓库里的.gitignore是什么3.2仓库里的git是什么 三、git的基本使用1.将克隆仓库的新增文件添加到暂存区(本地仓库)2.将暂存区的文件添加到.git仓库中3.将.git仓库中的变化…...

QT读写配置文件

文章目录 一、概述二、使用步骤1.引入头文件2.头文件的public中定义配置文件对象3.初始化 一、概述 Qt中常见的配置文件为&#xff08;.ini&#xff09;文件&#xff0c;其中ini是Initialization File的缩写&#xff0c;即初始化文件。 配置文件的格式如下所示&#xff1a; 模…...

【计算机网络】12、frp 内网穿透

文章目录 一、服务端设置二、客户端设置 frp &#xff1a;A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet。是一个专注于内网穿透的高性能的反向代理应用&#xff0c;支持 TCP、UDP、HTTP、HTTPS 等多种协议&#xff0c;且…...

Pytest 重复执行用例插件----pytest-repeat

前言 在自动化过程中&#xff0c;想要重复执行一条脚本&#xff0c;查看他的稳定性&#xff0c;如果是在unittest框架中&#xff0c;可能会使用for一直循环这条用例&#xff0c;但是当我们使用pytest框架后&#xff0c;我们就可以通过某些插件来实现这个功能了。今天介绍的这个…...

【软件工程】5 ATM系统测试

目录 5 ATM系统测试 5.1 单元测试 5.1.1 制定单元测试计划 5.1.2 设计单元测试用例 ​编辑 5.1.3 执行单元测试 5.1.4 单元测试报告 5.2 集成测试 5.2.1 制定集成测试计划 5.2.2 设计集成测试用例 5.2.3 执行集成测试 5.2.4 集成测试总结 5.3 系统测试 5.3.1 制定…...

opencv读取MP4文件和摄像头数据

文章目录 前言一、waitKey函数二、VideoCapture类总结前言 本篇文章来讲解opencv读取MP4文件和摄像头数据,opencv主要用于处理图像数据那么本篇文章就来讲解opencv读取MP4文件和摄像头数据。 一、waitKey函数 waitKey()函数是OpenCV中常用的一个函数,它用于等待用户按键输…...

Qt实现自定义QDoubleSpinBox软键盘

在Qt应用程序开发中&#xff0c;经常会遇到需要自定义输入控件的需求。其中&#xff0c;对于QDoubleSpinBox控件&#xff0c;如果希望在点击时弹出一个自定义的软键盘&#xff0c;以便用户输入数值&#xff0c;并将输入的值设置给QDoubleSpinBox&#xff0c;该如何实现呢&#…...

STM32智能灌溉系统设计与实现

1. 项目概述这个智能灌溉控制系统是我去年为一个农业科技公司做的实际项目&#xff0c;当时他们需要在200亩的蓝莓种植基地部署一套自动化灌溉方案。经过三个月的开发和实地测试&#xff0c;最终形成了这套基于STM32的稳定系统。现在把整个设计过程整理出来&#xff0c;希望能给…...

新手零基础入门:利用快马平台交互式学习Python库安装与初体验

作为一个刚接触Python数据分析的小白&#xff0c;第一次听说pandas库时既兴奋又忐忑。兴奋的是这个工具能帮我处理数据&#xff0c;忐忑的是连安装都怕搞砸。好在发现了InsCode(快马)平台&#xff0c;它把复杂的安装过程变成了可以直接运行的交互式教程&#xff0c;下面分享我的…...

Python内存管理与垃圾回收:非科班转码者的指南

Python内存管理与垃圾回收&#xff1a;非科班转码者的指南 前言 大家好&#xff0c;我是第一程序员&#xff08;名字大&#xff0c;人很菜&#xff09;。作为一个非科班转码、正在学习Rust和Python的萌新&#xff0c;我最近开始关注Python的内存管理和垃圾回收机制。内存管理是…...

3种简单方法实现Windows与Linux双系统文件无缝共享的终极方案

3种简单方法实现Windows与Linux双系统文件无缝共享的终极方案 【免费下载链接】btrfs WinBtrfs - an open-source btrfs driver for Windows 项目地址: https://gitcode.com/gh_mirrors/bt/btrfs 跨平台文件共享一直是Windows与Linux双系统用户面临的核心痛点。你是否曾…...

WLAN——从零到一:深度解析CAPWAP隧道建立与AP上线全流程

1. 初识CAPWAP&#xff1a;无线网络的隐形桥梁 第一次接触CAPWAP协议时&#xff0c;我盯着拓扑图上AP和AC之间的虚线发愣——这条看似简单的连接线背后&#xff0c;竟然藏着无线网络最精妙的控制逻辑。CAPWAP&#xff08;Control And Provisioning of Wireless Access Points P…...

容器环境下各种兼容模式+多实例

注意&#xff1a; #多实例端口不同数据目录不同容器名不同 1. -p 主机端口:容器端口 容器端口永远是 54321&#xff08;不用改&#xff09; 主机端口必须不一样&#xff1a;4321、4322、4323... 一个端口只能给一个数据库用&#xff0c;就像一个门不能同时进两个人。2. -v 主机…...

SEO_快速见效的站内SEO优化检查清单与方法

SEO:快速见效的站内SEO优化检查清单与方法 在当今竞争激烈的互联网市场中&#xff0c;快速见效的站内SEO优化尤为重要。无论你是新站点的创建者&#xff0c;还是老站点的运营者&#xff0c;站内SEO优化都能帮助提升网站的搜索引擎排名&#xff0c;吸引更多访客。本文将带你了解…...

别再傻傻分不清!ComfyUI里Load Checkpoint和Load Diffusion Model到底怎么选?附实战场景对比

ComfyUI模型加载决策指南&#xff1a;Checkpoint与Diffusion Model的实战选择逻辑 第一次打开ComfyUI工作流时&#xff0c;面对"Load Checkpoint"和"Load Diffusion Model"两个相似的紫色节点&#xff0c;大多数新手都会愣住——它们看起来都能加载模型&am…...

基于半同步整流的磁耦合无线充电系统最大效率跟踪研究

基于半同步整流的磁耦合无线充电系统最大效率跟踪研究 摘要 与传统插入式电力电子系统相比,磁耦合无线电力传输(WPT)系统因具有无电气接触、环境适应性强、使用便捷等优势,在电动汽车、消费电子及生物医疗等领域展现出广阔的应用前景。然而,在实际应用中,负载阻抗变化和…...

PX4飞控Telem2接口详解:除了连树莓派,还能怎么玩?(附QGC参数配置清单)

PX4飞控Telem2接口的进阶玩法&#xff1a;解锁隐藏功能的6种实战方案 在无人机开发领域&#xff0c;Pixhawk飞控的Telem2接口常被简单当作连接树莓派或Jetson的通信通道。但当我第一次测量到这个接口的VCC引脚居然能稳定输出5V/500mA时&#xff0c;一个大胆的想法浮现&#xff…...