空路径名称不合法错误

时间:2013-08-13 08:21:24

标签: c# sql-server

我正在尝试将2张图片保存到我的数据库,但我继续得到上述错误,我已经尝试了很多,但只是无法解决它。

    string fileName = "";
    string fileName2 = "";
    private void SaveReq()
    {
        try
        {
            byte[] img = null;
            byte[] img2 = null;
            FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
            FileStream fs2 = new FileStream(fileName2, FileMode.Open, FileAccess.Read);

            BinaryReader br = new BinaryReader(fs);
            BinaryReader br2 = new BinaryReader(fs2);
            img = br.ReadBytes((int)fs.Length);



            img2 = br2.ReadBytes((int)fs2.Length);
            SqlConnection CN = new SqlConnection(mysql.CON.ConnectionString);
            string Query = "insert into BUILD_LIC (ID,KROKY,KROKY_3AM) values('" + txtID.Text + "',@KROKY,@KROKY_3AM)";
            CN.Open();
            mysql.COMMAND = new SqlCommand(Query, CN);
            mysql.COMMAND.Parameters.Add(new SqlParameter("@KROKY", img));
            mysql.COMMAND.Parameters.Add(new SqlParameter("@KROKY_3AM", img2));
            mysql.COMMAND.ExecuteNonQuery();
            CN.Close();

        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

如果我删除其中一个文件流(fs,fs2)代码工作&保存图像只为一个&我想保存这两个图像,你可以通过纠正我的代码来告诉我如何做到这一点

2 个答案:

答案 0 :(得分:0)

确保文件名值具有有效的文件路径。

来自FileStream Constructor (String, FileMode, FileAccess)

  

如果path是空字符串(“”),则包含,则抛出ArgumentException   只有空格,或包含一个或多个无效字符。

您可能需要查看File.Exists Method

  

确定指定的文件是否存在。

答案 1 :(得分:0)

错误消息告诉您确切的问题,并且在您发布的代码中显而易见:

string fileName = "";
string fileName2 = "";

然后使用上述变量调用FileStream构造函数,但我没有看到您将它们设置为""以外的任何内容:

FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
FileStream fs2 = new FileStream(fileName2, FileMode.Open, FileAccess.Read);

您需要为这两个变量提供有效的路径/文件名以解决此错误。例如:

string fileName = @"C:\Temp\File1.txt";
string fileNAme = @"C:\Temp\File2.txt";