У меня есть сайт ASP.NET (4.5).make imagepath unique
Эта команда кнопки ниже, которая вставляет employeeeename, useeelastname, useeephoto в папку изображений и путь изображения к db.
Я хочу, чтобы путь к изображению был автоматически uniquename + extension;
string filepath = //"uniquename" + ext;
так что, EmployeeID уникален, так что нет никакой путаницы или дублировать фотографии.
Как я могу это достичь?
спасибо.
protected void Button1_Click(object sender, EventArgs e) //Insert
{
if (FileUploadControl.HasFile)
{
string ext = Path.GetExtension(FileUploadControl.FileName);
if (ext == ".jpg" || ext == ".png" || ext == ".jpeg" || ext == ".gif")
{
try
{
cnn.Open();
SqlCommand cmd = new SqlCommand("INSERT INTO Employees (EmployeeFirstName, EmployeeLastName, EmployeePhotoPath) VALUES (@item1,@item2,@img)", cnn);
cmd.Parameters.AddWithValue("@item1", TextBox1.Text);
cmd.Parameters.AddWithValue("@item2", TextBox2.Text);
string filepath = //"uniquename" + ext;
FileUploadControl.SaveAs(Server.MapPath("Images/") + filepath);
cmd.Parameters.AddWithValue("@img", filepath);
cmd.ExecuteNonQuery();
cnn.Close();
Label3.Text = "successfully inserted";
}
catch (Exception ex)
{
Label3.Text = ex.Message;
}
temizle();
}
else
{
Label3.Text = "selected file is not a photo";
}
}
else
{
Label3.Text = "please upload employee photo";
}
}
}
Вам просто нужно сначала вставить сотрудника, получить идентификатор, а затем использовать его, а затем обновить строку с указанием местоположения. –
Если EmployeeID является столбцом Identity, то вы не можете поймать это значение перед выполнением вставки – Steve
Ну, вы можете использовать точное время и имя пользователя - было бы маловероятно, чтобы он всегда был таким же. Если вы не добавляете 1000 пользователей одновременно? –