在winforms应用程序中上传图像

时间:2011-08-18 15:49:38

标签: c# .net winforms file-upload

有没有人知道是否有控件允许用户将图像上传到Windows窗体?或任何示例代码来完成此任务。

我正在使用win-form应用程序

谢谢,

4 个答案:

答案 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();
        }