Bagaimana untuk meng-upload file gambar ke situs Web dengan menggunakan Visual Basic.NET atau Visual Basic 2005

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 315832 - Melihat produk di mana artikel ini berlaku.
Untuk versi Microsoft Active Server Pages artikel ini, lihat 299692.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Artikel ini menunjukkan bagaimana untuk menggunakan Masukan kontrol untuk meng-upload gambar file dari komputer lokal untuk Web situs. Nama file divalidasi terhadap server untuk memastikan bahwa Anda tidak menimpa berkas yang telah ada.

Persyaratan

Daftar berikut menguraikan fitur perangkat keras, perangkat lunak, jaringan infrastruktur, dan paket layanan yang Anda butuhkan:
  • Microsoft Visual Basic 2005 atau Microsoft Visual Basic.NET
  • Layanan Informasi Internet Microsoft (IIS) versi 5.0 atau yang lebih baru
Artikel ini mengasumsikan bahwa Anda sudah familiar dengan topik-topik berikut:
  • Aplikasi web
  • Microsoft ASP.NET

Gunakan kontrol masukan untuk meng-upload file gambar ke situs Web

The Masukan kontrol dapat menangani berbagai macam masukan. Bila Anda membuat Masukan kontrol dengan Hypertext Markup Language (HTML) <input type="file"> elemen, Microsoft Visual Studio 2005 atau Microsoft Visual Studio.NET menghasilkan objek berkas, kotak teks, dan People tombol. Pengguna dapat mengetik nama file dalam kotak teks. Bergantian, pengguna dapat klik People browse ke sistem file lokal dan pilih file untuk meng-upload.

Untuk menciptakan situs web ASP.Formulir NET Web yang mencakup kotak masukan dan tombol perintah untuk meng-upload gambar file dari komputer lokal untuk situs Web, Ikuti langkah berikut:
  1. Mulai Visual Studio 2005 atau Visual Studio.NET.
  2. Membuat ASP baru.NET aplikasi Web proyek di Visual Dasar.NET.

    Catatan Pada Visual Studio 2005, Anda membuat situs Web.
  3. Di jendela WebForm1.aspx, beralih ke HTML Lihat.

    Catatan Pada Visual Studio 2005, Anda beralih ke HTML melihat di jendela Default.aspx.
  4. Kode berikut menambahkan bentuk ENCTYPE atribut untuk menentukan format data yang diposting. The browser menggunakan atribut ini untuk benar menyandikan informasi yang diposting untuk server. The tindakan atribut dalam kode ini menunjukkan bahwa halaman akan memproses permintaan. Akhirnya, metode atribut dari bentuk diatur ke Posting secara default sehingga Anda dapat mengirim data di dalam jumlah besar transaksi.

    Di jendela HTML WebForm1, menambahkan berikut atribut/nilai pasangan dalam pembukaan<form>Tag:</form>
    EncType="multipart/form-data" action="WebForm1.aspx"
    					
  5. Menambahkan kode berikut Masukan kontrol untuk menentukan berkas yang ingin Anda upload ke server. Anda dapat menempatkan teks string di depan kontrol untuk meminta pengguna.

    Di jendela HTML WebForm1, tambahkan kode berikut antara pembukaan dan penutupan<form>Tag:</form>
    <INPUT id="oFile" type="file" runat="server">
    					
  6. Perhatikan bahwa Masukan kontrol tidak benar-benar upload file. Anda harus menambahkan Tombol kontrol untuk meng-upload file yang Anda tentukan di Masukan kontrol.

    Di jendela HTML WebForm1, menambahkan kode berikut antara pembukaan dan penutupan<form>Tag, setelah<b00></b00></form>Masukan kode kontrol:
    <asp:button id="btnUpload" type="submit" text="Upload" runat="server"></asp:button>
    					
  7. Kode berikut Menampilkan pesan yang menunjukkan apakah file upload berhasil. Menciptakan sebuah panel yang berisi satu label untuk menampilkan output.

    Di jendela HTML WebForm1, menambahkan berikut kode antara pembukaan dan penutupan<form>Tag, setelah<b00></b00></form>Tombol kode kontrol:
    <asp:Panel ID="frmConfirmation" Visible="False" Runat="server">
    <asp:Label id="lblUploadResult" Runat="server"/>
    </asp:Panel>
    					
  8. Kode Visual Basic mengambil file dari lokal sistem file, cek untuk melihat jika file sudah ada pada server, dan upload file ke situs Web.

    Beralih ke tampilan desain untuk WebForm1.aspx (klik Desain di sudut kiri bawah jendela desainer). Klik dua kali Meng-upload untuk membuat sebuah event handler untuk Klik acara tombol.
  9. Tambahkan berikut kode di atas kode di belakang halaman:
    Imports System.IO
    					
  10. Tambahkan kode berikut untuk Klik event handler untuk tombol perintah yang Anda buat:
    Dim strFileName as string
    Dim strFilePath as string
    Dim strFolder as string
    			
    strFolder = "C:\Temp\"
    			
    'Get the name of the file that is posted.
    strFileName = oFile.PostedFile.FileName
    strFileName = Path.GetFileName(strFileName)
    						
    'Create the directory if it does not exist.
    If (not Directory.Exists(strFolder)) then
       Directory.CreateDirectory(strFolder)
    End If
    			
    'Save the uploaded file to the server.
    strFilePath = strFolder & strFileName
    
    If File.Exists(strFilePath) then
       lblUploadResult.Text = strFileName & " already exists on the server!"
       Else
       oFile.PostedFile.SaveAs(strFilePath)
       lblUploadResult.Text = strFileName & " has been successfully uploaded."
    End If
    			
    'Display the result of the upload.
    frmConfirmation.Visible = true
    					
  11. Klik Simpan.
  12. Pada Debug menu, klik Mulai untuk membangun dan menjalankan aplikasi. Kotak teks dan tombol perintah akan muncul.
  13. Ketikkan lintasan ke file gambar dalam kotak teks, atau klik People untuk browse ke file gambar di komputer lokal.
  14. Klik Meng-upload untuk mengirim file ke server. Jika file tersebut unik, Anda menerima pesan yang upload berhasil. Jika file sudah ada pada server, Anda akan diberitahu sesuai.

Daftar kode lengkap

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="WebApplication3.WebForm1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
    <HEAD>
        <title>WebForm1</title>
        <meta name="GENERATOR" content="Microsoft Visual Studio.NET 7.0">
        <meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
        <meta name="vs_defaultClientScript" content="JavaScript">
        <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    </HEAD>
    <body MS_POSITIONING="GridLayout">
        <form id="Form1" method="post" runat="server" EncType="multipart/form-data" action="WebForm1.aspx">
            Image file to upload to the server: <INPUT id="oFile" type="file" runat="server" NAME="oFile">
            <asp:button id="btnUpload" type="submit" text="Upload" runat="server"></asp:button>
            <asp:Panel ID="frmConfirmation" Visible="False" Runat="server">
                <asp:Label id="lblUploadResult" Runat="server"></asp:Label>
            </asp:Panel>
        </form>
    </body>
</HTML>

Imports System.IO
Public Class WebForm1Public Class WebForm1 
// Note In Visual Studio 2005, "Public Class WebForm1" should be changed to "Partial Class _Default".
    Inherits System.Web.UI.Page
    Protected WithEvents btnUpload As System.Web.UI.WebControls.Button
    Protected WithEvents lblUploadResult As System.Web.UI.WebControls.Label
    Protected WithEvents frmConfirmation As System.Web.UI.WebControls.Panel
    Protected WithEvents oFile As System.Web.UI.HtmlControls.HtmlInputFile

#Region " Web Form Designer Generated Code "

    'The Web Form Designer requires this call.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

    End Sub

Private Sub Page_Init(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: The Web Form Designer requires this method call.
        'Do not use the code editor to modify it.
        InitializeComponent()
    End Sub

#End Region

Private Sub Page_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
        'Insert user code to initialize the page here.
    End Sub

Private Sub btnUpload_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnUpload.Click
        Dim strFileName As String
        Dim strFilePath As String
        Dim strFolder As String

        strFolder = "C:\Temp\"

        'Get the name of the file that is posted.
        strFileName = oFile.PostedFile.FileName
        strFileName = Path.GetFileName(strFileName)

        'Create the directory if it does not exist.
        If (Not Directory.Exists(strFolder)) Then
            Directory.CreateDirectory(strFolder)
        End If

        'Save the uploaded file to the server.
        strFilePath = strFolder & strFileName
        If File.Exists(strFilePath) Then
lblUploadResult.Text = strFileName & " already exists on the server!"
        Else
            oFile.PostedFile.SaveAs(strFilePath)
lblUploadResult.Text = strFileName & " has been successfully uploaded."
        End If

        'Display the result of the upload.
        frmConfirmation.Visible = True

    End Sub
End Class
				

Memverifikasi bahwa ia bekerja

  1. Meng-upload file baru ke server. Anda menerima berikut pesan:
    File name has been successfully uploaded
    						
  2. Meng-upload file yang sama lagi. Anda menerima berikut pesan:
    file name already exists on the server!
    						
Berkas yang Anda salin disimpan di Kandar: \Temp folder di lokal keras disk.

REFERENSI

Untuk informasi lebih lanjut, lihat situs Web Microsoft Developer Network (MSDN) berikut:
Elemen INPUT
http://MSDN.Microsoft.com/en-us/library/ms824689.aspx

ENCTYPE atribut
http://msdn2.Microsoft.com/en-us/library/ms533745.aspx

HtmlInputFile kelas
.aspx http://msdn2.Microsoft.com/en-us/library/System.web.UI.htmlcontrols.htmlinputfile (vs.71)

HtmlInputFile.PostedFile properti
.aspx http://msdn2.Microsoft.com/en-us/library/System.web.UI.htmlcontrols.htmlinputfile.postedfile (vs.71)
Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
295626Tidak bisa upload file besar ketika Anda menggunakan kontrol server HtmlInputFile

Properti

ID Artikel: 315832 - Kajian Terakhir: 24 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft ASP.NET 1.0
Kata kunci: 
kbvs2005swept kbvs2005applies kbhowtomaster kbmt KB315832 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:315832

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com