Dùng OpenFileDialog upload ảnh lên host với windows forms

Hôm trước có làm đồ án về Web ASP.Net có một phần cũng khá thú vị đó là dùng OpenFileDialog trong windows forms Upload hình ảnh lên host, bây giờ mình muốn chia sẻ với các bạn cách làm này qua bài viết về OpenFileDialog hôm nay.

Việc phát triển trên Web From thì có FileUpload mình sẽ làm việc này dể dàng hơn nhiều so với làm bằng windows forms. Cơ chế mình làm như sau: bạn khai báo một OpenFileDialog để lấy đường dẫn file, sau đó get địa chỉ của local của Host và thực hiện việc copy lên host thông qua hàm copy file.

Mình cũng lưu ý với các bạn, OpenFileDialog tác dụng của nó là lấy file và copy từ nơi này đến nơi khác không chỉ là file hình ảnh mà bất kì file nào: âm thanh, tài liệu, chương trình … đều được. Tuy nhiên hôm nay phá cách là upload lên host nên bạn mở post cho host để thực hiện việc copy, điều này có tác dụng làm đồ án thôi 😀 Bạn thiết kế From như sau:

OpenFileDialog Form Upload

Cơ chế của nó là, bạn bấm vào nút “chọn” sẽ mở ra cho mình một của sổ để chọn file hình ảnh, và khi chọn vào hình ảnh nào đó rồi thì bạn sẽ được hình hiển thị lên cái PictureBox, và tên hình sẽ get vào TextBox để mình dùng insert vào CSDL của WEB.

<!--
OpenFileDialog openfile = new OpenFileDialog();
private void btChon_Click(object sender, EventArgs e)
{
    openfile.Title = "Chọn File Ảnh Đại Diện Cho Hoa";
    openfile.InitialDirectory = @"c:\Program Files";//Thư mục mặc định khi mở
    openfile.Filter = "All files (*.*)|*.*|exe files (*.exe)|*.exe";// Lọc ra những file cần hiển thị
    openfile.FilterIndex = 1;//chúng ta có All files là 1,exe là 2
    openfile.RestoreDirectory = true;

    if (openfile.ShowDialog() == DialogResult.OK)
    {
        pHinh.Image = Image.FromFile(openfile.FileName);
        txtHinh.Text = Path.GetFileName(openfile.FileName);
    }
}
-->
Demo chọn hình upload trong windows forms

Demo chọn hình upload trong windows forms

Bạn thấy khi chọn hình từ nút chọn nhờ OpenFileDialog ta có thể cho thấy được hinh demo giúp người dùng kiểm tra được hình upload có đúng hay sai. Và tên hình cũng nằm trên textbox.

Tiếp theo là dùng hàm copy hình lên hostting, bao gồm hai yếu tố địa chỉnh hình gốc và địa chỉ hình cần copy qua, thực hiện thông qua hàm Copy của FILE.

<!--
private void CopyImage()
{
    string filename = openfile.FileName;
    string filepath = FullPath() + txtHinh.Text; //Địa chỉ cần copy qua
    if (!File.Exists(filename)) return;

    if (File.Exists(filepath))
        File.Delete(filepath);
    else
        try
        {
            File.Copy(filename, filepath);
        }
        catch
        {
            MessageBox.Show("Đã phát sinh lỗi trong việc chọn ảnh upload, vui lòng kiểm tra lại!!!", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
}
-->

Bạn sẽ thấy được trên có hàm FullPath dùng để lấy đường dẫn tuyệt đối để hàm copy file qua được thực hiện. Bây giờ bạn sẽ viết hàm lấy giá trị của FullPath như sau:

public string FullPath()
{
     return Server.MapPath("~/thư mục chứa hình/");
}

Kết luận: Vậy là chúng ta đã hoàn thành xong việc Upload hình ảnh bằng cách sử dụng Window Forms OpenFileDialog, đây là cũng là một ứng dụng rất hay, mong là sẽ giúp được các bạn học tập tốt. Chúc thành công!

VN:F [1.9.22_1171]
Rating: 8.5/10 (6 votes cast)
Dùng OpenFileDialog upload ảnh lên host với windows forms, 8.5 out of 10 based on 6 ratings
Share This