Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 文件上载后的文件权限问题_C#_Asp.net Core 3.1 - Fatal编程技术网

C# 文件上载后的文件权限问题

C# 文件上载后的文件权限问题,c#,asp.net-core-3.1,C#,Asp.net Core 3.1,我认为这是一个文件权限问题,我有一些问题。 当我在本地(Windows PC)运行下面的代码时,我对代码没有任何问题,但当我在服务器(CentOS)上运行代码时,它在“var img=new System.Drawing.Bitmap(fullPath);”行上失败 文件上传正常,但尝试将图像读入位图时似乎失败。我没有从异常中得到日志中的错误 为了验证,我做了一个测试,每行记录och,当将上传的文件读取到位图时,它失败了。它尝试读取的文件存在,且路径正确。所以我相信这是某种许可问题。但我不明白为

我认为这是一个文件权限问题,我有一些问题。 当我在本地(Windows PC)运行下面的代码时,我对代码没有任何问题,但当我在服务器(CentOS)上运行代码时,它在“var img=new System.Drawing.Bitmap(fullPath);”行上失败

文件上传正常,但尝试将图像读入位图时似乎失败。我没有从异常中得到日志中的错误

为了验证,我做了一个测试,每行记录och,当将上传的文件读取到位图时,它失败了。它尝试读取的文件存在,且路径正确。所以我相信这是某种许可问题。但我不明白为什么,或者如何修复它

using (var stream = System.IO.File.Create(fullPath))
                {
                    file.CopyTo(stream);
                    stream.Close();                        
                }


                if (fileExtension.ToLower() != ".png")
                {                                                                                                
                    var img = new System.Drawing.Bitmap(fullPath);
                    img.Save(Path.Combine(pathToSave, fileName + ".png"), System.Drawing.Imaging.ImageFormat.Png);                            
                    img.Dispose();
                    System.IO.File.Delete(fullPath);
                }

在谷歌上搜索了一下,看起来像是在使用系统。在Linux上绘图不是一个好主意。但是有一篇文章是他们完成的。例如。 我认为关键是您需要安装一些LIB:

sudo apt-get -f install libgdiplus

这是Ubuntu版的,试着为Centos找到同样的版本

谢谢!我刚刚意识到我在项目的其他部分使用了MagickImage,因此我可以用它来转换为PNG。当然,另一种方法是使用库:)