首页 > 其他分享 >blog.admin net8发布二级目录,及图片上传路径处理

blog.admin net8发布二级目录,及图片上传路径处理

时间:2024-04-19 15:26:45浏览次数:17  
标签:return string admin blog api file net8 var 上传

1、发布二级目录,修改以下配置,及对应的二级目录名跟配置的一致

 2、图片上传

a、修改后台api代码imgController.cs

 public async Task<MessageModel<string>> InsertPicture([FromForm]UploadFileDto dto)
 {
     
     if (dto.file == null || !dto.file.Any()) return Failed("请选择上传的文件。");
     //格式限制
     var allowType = new string[] { "image/jpg", "image/png", "image/jpeg" };
     
     var allowedFile = dto.file.Where(c => allowType.Contains(c.ContentType));
     if (!allowedFile.Any()) return Failed("图片格式错误");
     if (allowedFile.Sum(c => c.Length) > 1024 * 1024 * 4) return Failed("图片过大");

     string foldername = "images";
     string folderpath = Path.Combine(_env.WebRootPath, foldername);
     string filePaths = "";
     if (!Directory.Exists(folderpath))
     {
         Directory.CreateDirectory(folderpath);
     }
     foreach (var file in allowedFile)
     {
         string strpath = Path.Combine(foldername, DateTime.Now.ToString("MMddHHmmss") + Path.GetFileName(file.FileName));
         var path = Path.Combine(_env.WebRootPath, strpath);
         filePaths = (string.IsNullOrEmpty(filePaths) ? "" : ",") + strpath;
         using (var stream = new FileStream(path, FileMode.OpenOrCreate, FileAccess.ReadWrite))
         {
             await file.CopyToAsync(stream);
         }
     }

     var excludeFiles = dto.file.Except(allowedFile);

     if (excludeFiles.Any())
     {
         var infoMsg = $"{string.Join('、', excludeFiles.Select(c => c.FileName))} 图片格式错误";
         return Success<string>(null, infoMsg);
     }

     return Success<string>(filePaths, "上传成功");

 }

b、修改前端api.js代码,导出后台api配置地址

let base = 'http://localhost:8081';
export const BaseApiUrl =base;

c、在前端vue项目需要用到上传图片的页面修改以下代码

1、引用后台API地址

import {BaseApiUrl} from '../../api/api' //引用后台API地址

2、data里面定义一个上传api url
  data() {     return {       actionUrl:BaseApiUrl+"/images/Upload/Pic",    } }   3、设置上传url  <el-form-item label="头像">           <el-upload             class="avatar-uploader"             :action="actionUrl"             :show-file-list="false"             :headers="token"             :data="ruleForm"             :on-success="handleAvatarSuccessAdd"             :before-upload="beforeAvatarUploadAdd"           >             <img v-if="addForm.Photo" :src="addForm.Photo" class="avatar" />             <i v-else class="el-icon-plus avatar-uploader-icon plus-sign"></i>           </el-upload>         </el-form-item>   4、修改上传成功回调函数 handleAvatarSuccess(res, file) {       console.log(res);         this.editForm.Photo = BaseApiUrl + "/" + res.response;     },

 

标签:return,string,admin,blog,api,file,net8,var,上传
From: https://www.cnblogs.com/handsomeziff/p/18145935

相关文章

  • memory-cnblog
    linux虚拟内存系统进程的虚拟内存用户区分段:代码段、数据段、堆、共享库、栈内核区:存放进程信息,PID\程序计数器、打开文件列表、task和mm(描述虚拟内存)结构等Linux加载进程时(exec系列系统调用)会为该地址空间每个段分配VMA,VMA数据结构(vm_area_struct)会描述该段的虚拟空间......
  • net8 linux docker sqlserver报错error: 31 - Encryption(ssl/tls) handshake failed)
    asp.netcore升级到8.0后遇到数据库不能连接问题?_已解决_博问_博客园(cnblogs.com) 中文提示:连接数据库过程中发生错误,检查服务器是否正常连接字符串是否正确,错误信息:Aconnectionwassuccessfullyestablishedwiththeserver,butthenanerroroccurredduringthep......
  • https://blog.csdn.net/qq_64314976/article/details/125843147
    importjava.awt.FlowLayout;importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.ButtonGroup;importjavax.swing.JButton;importjavax.swing.JCheckBox;importjavax.swing.JComboBox;importjavax.s......
  • Docker+Net8运行https
    环境:win11,docker4.28.0,Net8。使用windows版docker 跑老外的run-aspnetcore-microservices 这个分布式项目时,最开始直接运行会遇到这个问题。中间也试了几种方法,有ok也有不行的,有些较为麻烦。Net8开始Docker 端口 默认端口8080了下面是我的1生成pfx文件d......
  • 搭建一个免费的,无限流量的Blog----github Pages和Jekyll入门
    喜欢写Blog的人,会经历三个阶段。第一阶段,刚接触Blog,觉得很新鲜,试着选择一个免费空间来写。第二阶段,发现免费空间限制太多,就自己购买域名和空间,搭建独立博客。第三阶段,觉得独立博客的管理太麻烦,最好在保留控制权的前提下,让别人来管,自己只负责写文章。大多数Blog作......
  • ABP后台管理页面AdminLTE框架,实现菜单项点击后,菜单展开当前菜单项高亮
    <style>.CurrentMenuColor{background-color:#007bff;color:#fff;}</style><script>//左侧菜单定位$(document).ready(function(){varpathname=window.location.pathname+window.location.search;......
  • Dotnet8.0常用工程模板
     --dotnetnew--installMicrosoft.Azure.WebJobs.ProjectTemplates安装最新版本dotnetnewinstallMicrosoft.DotNet.Web.Spa.ProjectTemplates安装指定版本dotnetnewinstallMicrosoft.DotNet.Web.Spa.ProjectTemplates::2.0.0安装制定版本且制定数据源dotnetnew......
  • weblogic 后台弱密码上传war包getshell 漏洞复现
    漏洞描述OracleWebLogicServer是Oracle公司目前开发的JavaEE应用服务器,类似于tomcattomcat中存在后台上传war包getshell漏洞,同样weblogic服务也存在该漏洞,通常weblogic有以下特征默认端口为:7001特有的报错回显后台目录为/console/login/LoginForm.jsp后台默认密码......
  • dotnet8中控制台应用中文乱码问题
    也许是因为系统是非中文,也许是LSTC修改版的系统,在dotnet8下开发控制台应用,出现了中文乱码显示问号的问题。经查阅,使用nuget包并设置中文编码,可解决。不知UTF-8编码是否也能正常显示中文,我没试。在项目内引用nuget包。<ItemGroup><PackageReferenceInclude="System.Te......
  • 外贸网站模板:大气实木家具公司自适应网站(zblogphp模板)
    外贸网站模板:大气实木家具公司自适应网站(zblogphp模板)外贸网站模板:大气实木家具公司自适应网站(zblogphp模板)主要是以文字内容为主导,将页面的设计杂乱的图片和元素进行最小化或者去除,从而使整个页面更加简洁、清晰,突出信息的呈现。下面介绍一下外贸网站模板:大气实木家具......