Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.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#_.net - Fatal编程技术网

从文件夹中替换/删除图像。C#

从文件夹中替换/删除图像。C#,c#,.net,C#,.net,我有一个程序,允许用户上传他们宠物的照片。然后,您可以上载5个不同的图像,所有这些图像都保存在特定的文件夹中。然后路径本身保存在数据库中 首先,按下“combobox”,在这个列表中你会找到你输入程序的所有宠物。然后选择“加载图像”。然后,此图像将保存在数据库中的文件夹和路径中。但是如果你用同一只宠物再上传一张图片。此图像也将保存在同一文件夹中。我要做的是删除以前的图像,然后用新路径更新数据库。好吧,我希望你明白我需要什么 private void btn_upload_Click(objec

我有一个程序,允许用户上传他们宠物的照片。然后,您可以上载5个不同的图像,所有这些图像都保存在特定的文件夹中。然后路径本身保存在数据库中

首先,按下“combobox”,在这个列表中你会找到你输入程序的所有宠物。然后选择“加载图像”。然后,此图像将保存在数据库中的文件夹和路径中。但是如果你用同一只宠物再上传一张图片。此图像也将保存在同一文件夹中。我要做的是删除以前的图像,然后用新路径更新数据库。好吧,我希望你明白我需要什么

 private void btn_upload_Click(object sender, EventArgs e) //Load image
    {
        if (string.IsNullOrEmpty(combo_dogname.Text) || string.IsNullOrWhiteSpace(combo_dogname.Text))
        {
            MessageBox.Show("Du måste välja en hund!");

        }
        else
        {
            OpenFileDialog opFile = new OpenFileDialog();
            opFile.Title = "Välj en bild";
            opFile.Filter = "jpg files (*.jpg)|*.jpg|All files (*.*)|*.*";

            string appPath = Path.GetDirectoryName(Application.ExecutablePath) + @"\UserImages\";
            if (Directory.Exists(appPath) == false)
            {
                Directory.CreateDirectory(appPath);
            }

            if (opFile.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    string iName = opFile.SafeFileName;   // <---
                    string filepath = opFile.FileName;    // <---
                    File.Copy(filepath, appPath + iName); // <---
                    pbox_jordbruksverket.Image = new Bitmap(opFile.OpenFile());
                    path = filepath;
                    name = iName;
                    saveContent();
                }
                catch
                {
                    if (File.Exists(appPath))
                    {
                        File.Delete(appPath);
                        MessageBox.Show("Filen finns redan!");
                    }
                }
            }
            else
            {
                opFile.Dispose();
            }
        }   
    }
    //Strings
    public static string path;
    public static string name;
    //Save content after uploading image.
    public void saveContent()
    {
        con.Open();
        SqlCommand Rem = con.CreateCommand();
        Rem.CommandType = CommandType.Text;
        string sqlAdd = "INSERT INTO lexidatabase.dbo.tbl_jordbruksverket (username, dogname, img) values('" + Login.username + "', '" + combo_dogname.Text + "', '" + path + "')";
        SqlCommand cmd = new SqlCommand(sqlAdd, con);
        cmd.ExecuteNonQuery();
        MessageBox.Show("Bild sparad");
        con.Close();
    }
    //Removing all images from the selected pet.
    private void btn_removeImg_Click(object sender, EventArgs e)
    {
        if(string.IsNullOrEmpty(combo_dogname.Text) || string.IsNullOrWhiteSpace(combo_dogname.Text))
        {
            MessageBox.Show("Du måste välja hund först!");
        }
        else
        {
            con.Open();
            SqlCommand remove = con.CreateCommand();
            remove.CommandType = CommandType.Text;
            string sqlRemove = "DELETE FROM lexidatabase.dbo.tbl_jordbruksverket WHERE username = '" + Login.username + "' AND dogname = '" + combo_dogname.Text + "'";
            SqlCommand cmd = new SqlCommand(sqlRemove, con);
            cmd.ExecuteNonQuery();
            MessageBox.Show("Bild borttagen!");
            con.Close();
        }
    }
private void btn\u upload\u单击(对象发送者,事件参数)//加载图像
{
if(string.IsNullOrEmpty(combo_dogname.Text)| string.IsNullOrWhiteSpace(combo_dogname.Text))
{
MessageBox.Show(“dumåste välja en hund!”);
}
其他的
{
OpenFileDialog opFile=新建OpenFileDialog();
opFile.Title=“Välj en bild”;
opFile.Filter=“jpg文件(*.jpg)|*.jpg |所有文件(*.*)|*.”;
字符串appPath=Path.GetDirectoryName(Application.ExecutablePath)+@“\UserImages\”;
if(Directory.Exists(appPath)==false)
{
CreateDirectory(appPath);
}
if(opFile.ShowDialog()==DialogResult.OK)
{
尝试
{

字符串iName=opFile.SafeFileName;//旁注:
if(Directory.Exists(appPath)==false)
是冗余的,可以删除;
if(File.Exists(appPath))
也可以被删除您的代码存在严重的sql注入漏洞,恶意用户可以很容易地访问您的数据库,甚至删除/更改数据库中的数据。请始终使用!@DmitryBychenko“被删除”是什么意思?它们是无用的还是?@Esko我会研究一下,非常感谢。@LolPrezy:您不必检查k如果创建目录时存在目录:
directory.CreateDirectory(appPath);
创建目录或不执行任何操作(如果dir存在)。与
文件相同。删除
如果文件存在,则将删除它,否则将不执行任何操作