-2

我正在尝试将 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),则代码工作并保存图像仅用于一个,我想保存这两个图像,您能否通过更正我的代码来告诉我如何做到这一点

4

2 回答 2

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";
于 2013-08-13T08:26:33.943 回答
0

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

来自FileStream 构造函数(字符串、文件模式、文件访问)

如果 path 为空字符串 ("")、仅包含空格或包含一个或多个无效字符,则引发 ArgumentException。

您可能想看看File.Exists 方法

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

于 2013-08-13T08:23:01.610 回答