首页 > 编程语言 >C# 上传文件至指定目录,并返回文件路径

C# 上传文件至指定目录,并返回文件路径

时间:2023-07-04 11:25:55浏览次数:30  
标签:文件 string filePath C# file Path folderPath 上传

 

/// <summary>
        /// 上传图片并返回文件路径
        /// </summary>
        /// <param name="file"></param>
        /// <returns></returns>
        [HttpPost("UploadImage")]        
        public async Task<IActionResult> UploadImage(IFormFile file)
        {
            if (file == null || file.Length == 0)
                return BadRequest("未检测到图片信息!");

            string fileName = Guid.NewGuid().ToString() + Path.GetExtension(file.FileName);
            //上传路径
            //string folderName = "UpImg" + "\\";
            string folderName = "UpImg";
            string folderPath = Path.Combine(_webHostEnvironment.ContentRootPath, folderName);
            //检测上传路径是否存在,不存在创建
            if (!Directory.Exists(folderPath))
            {
                Directory.CreateDirectory(folderPath);
            }
            string filePath = Path.Combine(folderPath, fileName);

            using (var stream = new FileStream(filePath, FileMode.Create))
            {
                await file.CopyToAsync(stream);
            }
            

            //var filePath = Path.Combine(Directory.GetCurrentDirectory(), fileName);

            return Ok(filePath);
        }

 

标签:文件,string,filePath,C#,file,Path,folderPath,上传
From: https://www.cnblogs.com/JoeYD/p/17525216.html

相关文章

  • 静态文件生成
    文章端创建app相关文章时,生成文章详情静态页上传到MinIO中审核文章——feign远程——>修改或创建app相关数据——异步——>生成静态文件文章微服务 自媒体用户发布文章后审核成功后将异步feign远程调用文章微服务,在文章微服务中......
  • 使用 node 17以上版本运行项目报错--Error: error:0308010C:digital envelope routine
    一、起因#由于电脑重装系统,重新下载nodejs,自然更新到最新版本18,之前的版本才16。更新到最新nodejs版本后,运行vue文件,报错:this[kHandle]=new_Hash(algorithm,xofLen);^Error:error:0308010C:digitalenveloperoutines::unsupported   二、探索......
  • go-zero 源码——syncx/limit
    rtfsc:readthefuckingsourcecode以下为源码注释:packagesyncximport( "errors" "github.com/zeromicro/go-zero/core/lang")/***[rtfsc]*主题:limit.go*摘要:类似信号量*功能:用于控制数量,如并发数*[end]*///ErrLimitReturnindicatestha......
  • Solon Web 开发:四、认识请求上下文(Context)
    Handler+Context架构,是SolonWeb的基础。在Context(org.noear.solon.core.handle.Context)里可以获取:请求相关的对象与接口会话状态相关的对象与接口响应相关的对象与接口或者理解所有请求与响应相关的,都在它身上。关于架构方面,可以再看看《想法与架构笔记》1、三种获......
  • nacos-sdk-go/v2版本 提示客户端连接不上
    nacos-sdk-gov2报错提示客户端连接不上标签(空格分隔):nacos前言nacos版本:v2nacos-sdk-go版本:v2背景:使用nacos-sdk-go来获取配置,发现一直在找缓存目录的文件,但使用openapi可以获取到配置报错信息clientnotconnected,currentstatus:STARTING提示客户端连接失败???1999-0......
  • Python Django 零基础从零到一部署服务,Hello Django!全文件夹目录和核心代码!
    在这篇文章中,我将手把手地教你如何从零开始部署一个使用Django框架的Python服务。无论你是一个刚开始接触开发的新手,还是一个有经验的开发者想要快速了解Django,这篇教程都会为你提供一条清晰的路径。我们将从环境搭建开始,一步一步地创建一个可以处理GET和POST请求的服务,让你能在实......
  • 如何通过Java读取到Windows系统日志evtx文件
    近日公司有个需求,需要调研如何使用Java来读取Windows日志文件(类型:应用程序,安全,Setup,系统)一番调研以后,在仅使用java的基础上系统日志文件似乎不太可能(就个人调研结果来看),再通过多渠道查询(百度、chargpt),找到2个可能的实现的方案:1、使用Java来调用C++方法JNA(JavaNativeAccess)......
  • codeforces 树上题目总结
    codeforces树上题目总结CF1559D2先猜一个结论——一定能通过加边让一个森林变成一棵树,归纳一下发现是对的,并且随便加合法的边都符合条件,所以暴力是\(\mathcalO(n^2)\)的。那么考虑如何降低复杂度。我并没有想到。我一直是在往快速找到两个不属于同一集合的点这个方向思考的......
  • react的hooks作用讲解
    1.useState用于声明一个state变量,例子如下点击查看代码importReact,{useState}from'react';functionExample(){//声明一个叫"count"的state变量const[count,setCount]=useState(0);return(<div><p>Youclicked{count}......
  • caddy代理,免编译固件开发
    路由交换机分离caddy代理前端球盖不用依赖后端编译:Jquery项目:在根目录下打开cmd执行npm-gihttp-server(这一步下载文件服务器)执行http-server(这一步会得到Availableon:http://192.168.10.66:8081http://192.168.16.66:8081http://192.168.5.197:8081http......