• C# 上传图片至共享文件夹


    C# 图片上传至共享文件夹

    •  使用net dos命令

    • 尝试连接共享文件夹
    • bool status = connectState(@"\\IP\uploadImages", "用户登录名", "登录密码");
      1. /// <summary>
      2. /// 连接共享文件
      3. /// </summary>
      4. /// <param name="path">共享文件地址</param>
      5. /// <param name="userName">用户名</param>
      6. /// <param name="passWord">密码</param>
      7. /// <returns>true:连接成功 false:连接失败</returns>
      8. public static bool connectState(string path, string userName, string passWord)
      9. {
      10. bool Flag = false;
      11. Process proc = new Process();
      12. try
      13. {
      14. proc.StartInfo.FileName = "cmd.exe";
      15. proc.StartInfo.UseShellExecute = false;
      16. proc.StartInfo.RedirectStandardInput = true;
      17. proc.StartInfo.RedirectStandardOutput = true;
      18. proc.StartInfo.RedirectStandardError = true;
      19. proc.StartInfo.CreateNoWindow = true;
      20. proc.Start();
      21. string dosLine = "net use " + path + " " + passWord + " /user:" + userName;
      22. proc.StandardInput.WriteLine(dosLine);
      23. proc.StandardInput.WriteLine("exit");
      24. while (!proc.HasExited)
      25. {
      26. proc.WaitForExit(1000);
      27. }
      28. string errormsg = proc.StandardError.ReadToEnd();
      29. proc.StandardError.Close();
      30. if (string.IsNullOrEmpty(errormsg))
      31. {
      32. Flag = true;
      33. }
      34. else
      35. {
      36. throw new Exception(errormsg);
      37. }
      38. }
      39. catch (Exception ex)
      40. {
      41. throw ex;
      42. }
      43. finally
      44. {
      45. proc.Close();
      46. proc.Dispose();
      47. }
      48. return Flag;
      49. }
    •   

      1. /// <summary>
      2. /// 选择图片或文件上传至服务器nfs共享文件夹
      3. /// </summary>
      4. public void DosCopyImage()
      5. {
      6. if (status == false)
      7. {
      8. GLOBALS.msgbox("连续服务器失败!");
      9. return;
      10. }
      11. string id = DateTime.Now.ToString("yyyyMMddHHmmss");
      12. string isPath = DateTime.Now.ToString("yyyy-MM-dd");
      13. string Path = IISPATH + isPath;
      14. if (!Directory.Exists(IISPATH))
      15. {
      16. Directory.CreateDirectory(IISPATH);
      17. }
      18. string txtFilePath = "";
      19. OpenFileDialog openFileDialogTemp = new OpenFileDialog();
      20. openFileDialogTemp.Title = "选择要上传的图片";
      21. openFileDialogTemp.Filter = "*.jpg,*.png,|*.jpg;*.png;";//如需上传文件把文件添加上即可
      22. DialogResult dr = openFileDialogTemp.ShowDialog();
      23. if (!File.Exists(openFileDialogTemp.FileName))
      24. {
      25. GLOBALS.msgbox("照片为空,请选择图片");
      26. return;
      27. }
      28. if (dr == DialogResult.OK)
      29. {
      30. txtFilePath = openFileDialogTemp.FileName;
      31. }
      32. if (txtFilePath.Trim() == "")
      33. {
      34. GLOBALS.msgbox("请选择文件!");
      35. return;
      36. }
      37. string filePath = this.txtFilePath.Text;
      38. string uploadUrl = IISPATH + isPath + "/" + id + ".jpg";
      39. try
      40. {
      41. File.Copy(filePath, uploadUrl);//复制文件夹下的所有文件、目录到指定的文件夹
      42. GLOBALS.msgbox("上传成功!");
      43. }
      44. catch (Exception)
      45. {
      46. }
      47. }
    • 使用这个方法之前,先打开cmd窗口,用dos命令运行是否正常

      • 命令:打开连接:net use \\IP地址\uploadImages$ 密码/user:用户名  注意:只有三个空格

      • 删除连接:net use \\IP地址\uploadImages$ 密码/user:用户名\del

    • net use错误解决方案:

      1. 错误号5,拒绝访问:很可能你使用的用户不是管理员权限的,先提升权限;

      2. 错误号51,Windows无法找到网络路径:网络有问题;

      3. 错误号53,找不到网络路径:ip地址错误;目标未开机;目标lanmanserver服务未启动;目标有防火墙(端口过滤);

      4. 错误号67,找不到网络名:你的lanmanworkstation服务未启动或者目标删除了uploadImages$;

      5. 错误号1219,提供的凭据与已存在的凭据集冲突:你已经和对方建立了一个uploadImages$,请删除再连;

      6. 错误号1326,未知的用户名或错误密码:原因很明显了;

  • 相关阅读:
    第三方登录功能的实现之 QQ登录 - 已绑定账号
    轻量级日志系统——Loki
    leetcode 46. 全排列
    Go-手写注册中心
    java 自带命令
    Selenium + Chrome带配置项启动
    基于VUE的教室预约系统的设计与实现(PHP后台)
    Pycharm创建项目时如何自动添加头部信息
    Spring 框架学习(三)---- IOC创建对象
    力扣:647. 回文子串
  • 原文地址:https://blog.csdn.net/qq_37192571/article/details/125592790