有没有人知道是否有控件允许用户将图像上传到Windows窗体?或任何示例代码来完成此任务。
我正在使用win-form应用程序
谢谢,
答案 0 :(得分:5)
要允许用户在Windows窗体应用程序中选择文件,您应该使用OpenFileDialog类进行查看。
要使用表单上的对话框,您需要在Visual Studio的工具箱中找到它并将其拖到表单上。
一旦与表单相关联,您就可以从代码中调用对话框,如下所示:
if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string selectedFile = openFileDialog1.FileName;
}
然后,您可以使用文件路径执行文件所需的任何任务。
注意:您可以使用FileDialog.Filter Property来限制用户在使用对话框时可以选择的文件扩展名(您的案例中的图片)。
答案 1 :(得分:2)
注意清楚您要上传图片的位置。如果您只想在简单的桌面应用程序中使用图像,则可以使用OpenFileDialog来允许用户选择图像文件。然后您可以在应用程序中使用此图像路径。如果要将此映像上载到数据库,可以使用类似FileStream类的内容将此映像读入内存。
答案 2 :(得分:1)
OpenFileDialog open = new OpenFileDialog();
open.Filter = "Image Files(*.jpeg;*.bmp;*.png;*.jpg)|*.jpeg;*.bmp;*.png;*.jpg";
if (open.ShowDialog() == DialogResult.OK)
{
textBox10.Text = open.FileName;
}
cn.Open();
string image = textBox10.Text;
Bitmap bmp = new Bitmap(image);
FileStream fs = new FileStream(image, FileMode.Open, FileAccess.Read);
byte[] bimage = new byte[fs.Length];
fs.Read(bimage, 0, Convert.ToInt32(fs.Length));
fs.Close();
SqlCommand cmd = new SqlCommand("insert into tbl_products(Product_image) values(@imgdata)", cn);
cmd.Parameters.AddWithValue("@imgdata", SqlDbType.Image).Value = bimage;
cmd.ExecuteNonQuery();
cn.Close();
答案 3 :(得分:0)
private void cmdBrowser_Click(object sender, EventArgs e)
{
OpenFileDialog fileOpen = new OpenFileDialog();
fileOpen.Title = "Open Image file";
fileOpen.Filter = "JPG Files (*.jpg)| *.jpg";
if (fileOpen.ShowDialog() == DialogResult.OK)
{
picImage.Image = Image.FromFile(fileOpen.FileName);
}
fileOpen.Dispose();
}