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

银河麒麟服务器v10 sp1 .Net6.0 上传文件错误

上一篇:银河麒麟服务器v10 sp1 部署.Net6.0 http https_csdn_aspnet的博客-CSDN博客

.NET 6之前,在Linux服务器上安装 libgdiplus 即可解决,libgdiplus是System.Drawing.Common原生端跨平台实现的主要提供者,是开源mono项目。地址:GitHub - mono/libgdiplus: C-based implementation of the GDI+ API

因此,解决方法当然是安装相关的依赖:

1、CentOS

通过一键命令

sudo curl https://raw.githubusercontent.com/stulzq/awesome-dotnetcore-image/master/install/centos7.sh|sh

或者

yum update
yum install libgdiplus-devel -y
ln -s /usr/lib64/libgdiplus.so /usr/lib/gdiplus.dll
ln -s /usr/lib64/libgdiplus.so /usr/lib64/gdiplus.dll

2、银河麒麟V10 或 Ubuntu

通过一键命令

sudo curl https://raw.githubusercontent.com/stulzq/awesome-dotnetcore-image/master/install/ubuntu.sh|sh

或者

apt-get update
apt-get install libgdiplus -y
ln -s /usr/lib/libgdiplus.so /usr/lib/gdiplus.dll

3、Docker

Dockerfile 加入 RUN 命令,以官方 asp.net core runtime 镜像,以 asp.net core 2.2 作为示例:

FROM microsoft/dotnet:2.2.0-aspnetcore-runtime
WORKDIR /app
COPY . .
RUN apt-get update -y && apt-get install -y libgdiplus && apt-get clean && ln -s /usr/lib/libgdiplus.so /usr/lib/gdiplus.dll
EXPOSE 80
ENTRYPOINT ["dotnet", "<你的入口程序集>"]

需要注意的是apt-get update 这一步是必不可少的,不然会报找不到 libgdiplus。而且因为是官方镜像,用的是Debain10构建的docker镜像,在编译运行构建时会非常慢。

由于本人项目已从NetCore3.1升级到Net6.0,参考连接:NetCore3.1项目升级到Net6.0_.net 3.0 .net6 升级_csdn_aspnet的博客-CSDN博客 

且项目中使用的System.Drawing.Common已替换为其它解决方法,如果你没有其它方案,请参考:.NET6 System.Drawing.Common 通用解决办法_csdn_aspnet的博客-CSDN博客 

于是修改代码,将错误信息在swagger页面调用接口测试中输出,方便解决具体问题,提示如下: 

 Access to the path '/xxx/xxx' is denied. 或 access to the path xxx is denied

说明当前用户权限不够,所以要使用chmod,将wwwroot文件夹授权:chmod 777 wwwroot

其中 777,所有用户都具有读取写入权限,再次使用swagger上传如下图:

http://www.lryc.cn/news/128355.html

相关文章:

  • C#实现普通的语音播报
  • django中实现事务的几种方式
  • 【es6】具名组匹配
  • 自然语言处理技术:NLP句法解析树与可视化方法
  • flinksql报错 Cannot determine simple type name “org“
  • e.target.value和 binding.value 区别
  • 软链接与exec进程替换运行路径问题
  • 【Go】锁相关
  • git环境超详细配置说明
  • 使用阿里云服务器搭建PostgreSQL主从架构图文流程
  • Linux的基本权限(文件,目录)
  • 网络编程(12): TCP重传、滑动窗口、流量控制、拥塞控制
  • Docker安装RabbitMQ服务端
  • vueuse常用方法
  • 选择大型语言模型自定义技术
  • 算法概述-Java常用算法
  • CCLINK转MODBUS-TCP网关cclink通讯接线图 终端电阻
  • 香蕉派 BPI-P2 Pro采用RK3308芯片,512M内存,8G存储,支持PoE供电
  • 「隐语小课」拆分学习之“水平拆分学习”
  • WPF--关于Action事件小结
  • 创建一个 React+Typescript 项目
  • Java课题笔记~ 数据提交的方式
  • VUE3给页面添加按钮事件
  • 基于centos7.9通过nginx实现负载均衡以及反向代理
  • 前端原生写自定义旋转变换轮播图
  • linux tomcat server.xml 项目访问路径变更不生效
  • 介绍原型模式:快速构建和复制对象的设计模式
  • Unity的TimeScale的影响范围分析
  • 爬虫逆向实战(五)--猿人学第三题
  • [虚幻引擎] UE使用虚拟纹理在模型上显示挖空效果