CH3OH_ 2021-07-02 10:20 采纳率: 100%
浏览 24
已采纳

Linux 保存小程序上传的图片失败。

微信小程序上传图片,服务器端接收并保存在当前路径下。在Windows系统上测试可以存上,同样的代码编译后放到Linux上就不行了,返回'An error occurred while updating the entries. See the inner exception for details.'代码如下:

var files = Request.Form.Files;
            if (files.Count>0)
            {
                _wxauthzaService.deletelogs();
                sys_log_list log = new sys_log_list();
                log.computer_name = "wxxcx";
                log.user_name = "test";
                var strDateTime = DateTime.Now.ToString("yyyyMMddhhmm"); //取得时间字符串
                var strRan = Convert.ToString(new Random().Next(100, 999)); //生成三位随机数


                log.list_id = strDateTime + "01";
                log.log_string = "接到文件了,数量为" + files.Count;
                _wxauthzaService.addlog(log);

                //获取当前目录
                var s_path = Directory.GetCurrentDirectory() + "/imgs/";

                log.list_id = strDateTime + "02";
                log.log_string = "目标路径:" + s_path;
                _wxauthzaService.addlog(log);

                var isexist = Directory.Exists(s_path);

                log.list_id = strDateTime + "03";
                log.log_string = "路径是否存在:" + isexist;
                _wxauthzaService.addlog(log);


                if (!Directory.Exists(s_path))
                {
                    Directory.CreateDirectory(s_path);

                    log.list_id = strDateTime + "04";
                    log.log_string = "路径不存在,新建路径" ;
                    _wxauthzaService.addlog(log);
                }
                try
                {

                    #region  图片文件的条件判断
                    //文件后缀
                    var fileExtension = Path.GetExtension(files[0].FileName);

                    log.list_id = strDateTime + "05";
                    log.log_string = "获取文件后缀名:"+ fileExtension;
                    _wxauthzaService.addlog(log);
                    #endregion
                    var saveName = strDateTime + strRan + fileExtension;

                    log.list_id = strDateTime + "06";
                    log.log_string = "组成图片名:" + saveName;
                    _wxauthzaService.addlog(log);

                    //插入图片数据
                    var item = files[0];
                    using (FileStream fs = System.IO.File.Create(s_path + saveName))
                    {
                        item.CopyTo(fs);
                        fs.Flush();
                    }
                    log.list_id = strDateTime + "07";
                    log.log_string = "图片写入成功。" ;
                    _wxauthzaService.addlog(log);

                    string file_url = "https://www.xxxxxxxx.com/imgs/" + saveName;

                    log.list_id = strDateTime + "08";
                    log.log_string = "返回路径:" + file_url;
                    _wxauthzaService.addlog(log);

                    return new OkObjectResult(file_url);
                }
                catch (Exception ex)
                {
                    //这边增加日志,记录错误的原因
                    //ex.ToString();
                    log.list_id = strDateTime + "99";
                    log.log_string = "错误:" + ex.ToString();
                    _wxauthzaService.addlog(log);

                    return new OkObjectResult("上传失败");
                }

日志结果如下:

img

_wxauthzaService.addlog(log)方法是向数据库添加日志,执行结果是打印到组成图片名那一步,也没有打印出Exception 。有大佬能提示一下到底是什么问题吗?是获取的路径不对,还是centos system.io?

  • 写回答

2条回答 默认 最新

  • Null_Reference 2021-07-02 10:28
    关注

    异常代码是哪一行
    inner exception 打印出来看看

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 wegame打不开英雄联盟
  • ¥15 公司的电脑,win10系统自带远程协助,访问家里个人电脑,提示出现内部错误,各种常规的设置都已经尝试,感觉公司对此功能进行了限制(我们是集团公司)
  • ¥15 救!ENVI5.6深度学习初始化模型报错怎么办?
  • ¥30 eclipse开启服务后,网页无法打开
  • ¥30 雷达辐射源信号参考模型
  • ¥15 html+css+js如何实现这样子的效果?
  • ¥15 STM32单片机自主设计
  • ¥15 如何在node.js中或者java中给wav格式的音频编码成sil格式呢
  • ¥15 不小心不正规的开发公司导致不给我们y码,
  • ¥15 我的代码无法在vc++中运行呀,错误很多