Bagaimana untuk meng-upload file ke situs Web dengan menggunakan Visual C#

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 816150 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Artikel ini descibes cara untuk meng-upload sebuah file dengan menggunakan Microsoft Visual C#. File upload divalidasi jika ada di server. Artikel ini menggunakan EncType atribut dari bentuk untuk mencapai fungsi.

PENGENALAN

Artikel ini membahas cara untuk meng-upload ada file gambar dari pengandar perangkat keras lokal ke situs Web. An Masukan kontrol yang digunakan untuk meng-upload gambar dari komputer lokal Anda. Ini file yang sedang diupload divalidasi terhadap server untuk memastikan bahwa Anda tidak menimpa berkas yang ada yang sudah telah upload.

Persyaratan

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

Desain formulir HTML untuk meng-upload file gambar ke situs Web

Menciptakan situs web ASP.Formulir NET Web

  1. Mulai Microsoft Visual Studio.NET 2003 atau Microsoft Visual Studio 2005.
  2. Pada File menu, titikBaru, lalu klik Proyek.

    Catatan Pada Visual Studio 2005, arahkan ke Baru pada File menu, dan kemudian klik Situs web.
  3. Di bawah Jenis proyek, klik Visual C# proyek. Di bawah Template, klik ASP.NET Aplikasi web.

    Catatan Pada Visual Studio 2005, pilih Visual C# di sebelah kanan Bahasa. Di bawah Template, klik ASP.NET website.
  4. Dalam Lokasi Ketik jenis berikut lokasi, dan kemudian klik Oke:
    http://WebServerName/ApplicationName
    CatatanWebServerName adalah simbol untuk nama server Web Anda.ApplicationName adalah sebuah tempat untuk nama aplikasi Anda.

    Secara default, WebForm1.aspx adalah dibuat.

    Catatan Pada Visual Studio 2005, pilih HTTP di sebelah kanan Lokasi, kemudian ketik http://WebServerName.
  5. Pada Lihat menu, klik HTML sumber.

    Catatan Pada Visual Studio 2005, klik Kode pada Lihat menu.

Mengubah bentuk atribut

Di jendela HTML WebForm1, menggantikan bentuk Tag dengan berikut:
<form id="Form1" method="post" runat="server" EncType="multipart/form-data" action="WebForm1.aspx">
The EncType atribut menentukan format data yang diposting. The browser menggunakan atribut ini untuk mengkodekan informasi yang dikirim ke server. The tindakan atribut dalam kode ini menunjukkan bahwa halaman akan memproses permintaan. Secara default, metode atribut dari bentuk diatur ke posting sehingga Anda dapat mengirim data di dalam jumlah besar transaksi.

Tambahkan kontrol masukan untuk menentukan berkas yang ingin Anda upload ke server

  1. Di jendela HTML WebForm1, tambahkan kode berikut antara pembukaan dan penutupan<form>Tag:</form>
    <INPUT id="oFile" type="file" runat="server" NAME="oFile">
    Ini Masukan kontrol menetapkan file yang ingin Anda upload ke server.
  2. Anda dapat menambahkan string teks di depan kontrol untuk meminta pengguna. Ketik teks berikut depan Masukan kontrol di jendela HTML WebForm1:
    Select the image file to upload to the server:

Tambahkan tombol kontrol

  1. Di jendela HTML WebForm1, tambahkan 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>
  2. Ini Tombol kontrol yang digunakan untuk meng-upload file yang Anda tentukan di Masukan kontrol.

Menciptakan Panel kontrol yang berisi satu label untuk menampilkan output

Di jendela HTML WebForm1, tambahkan kode berikut 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:Label>
</asp:Panel>
Kode ini digunakan untuk menampilkan pesan yang menunjukkan apakah file Upload sukses. Untuk menampilkan output ini, Panel kontrol dibuat yang berisi satu label.

Meng-upload file di acara klik tombol

Kode dalam bagian ini akan mengambil file dari file lokal sistem, cek untuk melihat jika file sudah ada pada server, dan kemudian upload file ke situs Web. Untuk menambahkan kode ini, ikuti langkah berikut:
  1. Klik dua kali Meng-upload tombol yang dibuat di bagian "Menambah tombol kontrol" dari artikel ini untuk membuat event handler untuk Klik acara tombol kontrol.
  2. Menambahkan kode berikut di bagian atas jendela kode:
    using System.IO;
  3. Tambahkan kode berikut untuk Klik event handler untuk Meng-upload tombol:
    		string strFileName; 
    		string strFilePath;
    		string strFolder; 
    		strFolder = Server.MapPath("./") ;
    		
    		// Retrieve the name of the file that is posted.
    		
    		strFileName = oFile.PostedFile.FileName;
    		strFileName = Path.GetFileName(strFileName);
    			if(oFile.Value != "")
    			{		
    				// Create the folder if it does not exist.
    				if(!Directory.Exists(strFolder))
    				{
    					Directory.CreateDirectory(strFolder);
    				}
    				
    				// Save the uploaded file to the server.
    				strFilePath = strFolder + strFileName;
    
    				if(File.Exists(strFilePath))
    				{
    					lblUploadResult.Text = strFileName + " already exists on the server!";
    				}
    				else
    				{
    					oFile.PostedFile.SaveAs(strFilePath);
    					lblUploadResult.Text = strFileName + " has been successfully uploaded.";
    				}
    
    			}	
    			else
    			{
    						lblUploadResult.Text = "Click 'Browse' to select the file to upload.";
    			}
    		// Display the result of the upload.
    		frmConfirmation.Visible = true;
    
  4. Pada File menu, klik Simpan Semua.

Memverifikasi bahwa tindakan upload karya

  1. Pada Debug menu, klikMulai untuk membangun dan menjalankan aplikasi. Kotak teks dan perintah tombol muncul.
  2. Ketik lintasan berkas gambar dalam kotak teks, atau klikPeople untuk mencari file gambar di lokal Anda komputer.
  3. Klik Meng-upload untuk mengirim file ke server. Jika file tersebut unik, Anda menerima pesan bahwa upload berhasil. Jika file sudah ada di server, Anda menerima pesan yang sesuai. File yang Anda upload dari aplikasi ini akan disimpan dalam lokasi: C:\inetpub\wwwroot\ApplicationName pada lokal keras disk.
  4. Untuk membuat aplikasi ini bekerja di Microsoft.NET Framework 1.0, memungkinkan kontrol penuh akses ke pengguna ASPNET. Untuk melakukannya, ikuti langkah berikut:
    1. Cari folder aplikasi di Windows Explorer. The jalan C:\inetpub\wwwroot\ApplicationName.
    2. Klik kanan ApplicationName folder, dan kemudian klik Properti. The ApplicationName Properti dialog kotak akan muncul.
    3. Klik Keamanan tab.
    4. Klik Tambahkan. The Pilih pengguna atau Kelompok kotak dialog akan muncul.

      Catatan Dalam Visual Studio 2005 Pilih pengguna, komputer, atau grup kotak dialog akan muncul.
    5. Jenis ASPNET dalam Masukkan nama objek untuk memilih kotak, dan kemudian klik Oke.
    6. Dalam ApplicationName Properti dialog kotak, klik pengguna ASPNET di Nama grup atau pengguna daftar.
    7. Di bawah Memungkinkan, klik untuk memilih Kontrol penuh Periksa kotak, dan kemudian klik Oke.

Daftar kode lengkap

WebForm1.aspx
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" 
Inherits="Howto.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.1">
		<meta name="CODE_LANGUAGE" Content="C#">
		<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>
WebForm1.aspx.cs
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
namespace ApplicationName
{
	/// <summary>
	/// Summary description for WebForm1.
	/// </summary>
	public class WebForm1 : System.Web.UI.Page
	{
		protected System.Web.UI.WebControls.Button btnUpload;
		protected System.Web.UI.WebControls.Label lblUploadResult;
		protected System.Web.UI.WebControls.Panel frmConfirmation;
		protected System.Web.UI.HtmlControls.HtmlInputFile oFile;
	
		private void Page_Load(object sender, System.EventArgs e)
		{
			// Put user code to initialize the page here
		}

		#region Web Form Designer generated code
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: This call is required by the ASP.NET Web Form Designer.
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		private void InitializeComponent()
		{    
			this.btnUpload.Click += new System.EventHandler(this.btnUpload_Click);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion

		private void btnUpload_Click(object sender, System.EventArgs e)
		{
			string strFileName; 
			string strFilePath;
			string strFolder; 
			strFolder = Server.MapPath("./") ;
			
			// Get the name of the file that is posted.
		

		strFileName = oFile.PostedFile.FileName;
		strFileName = Path.GetFileName(strFileName);
			if(oFile.Value != "")
			{		
				// Create the directory if it does not exist.
				if(!Directory.Exists(strFolder))
				{
					Directory.CreateDirectory(strFolder);
				}
				
				// Save the uploaded file to the server.
				strFilePath = strFolder + strFileName;

				if(File.Exists(strFilePath))
				{
					lblUploadResult.Text = strFileName + " already exists on the server!";
				}
				else
				{
					oFile.PostedFile.SaveAs(strFilePath);
					lblUploadResult.Text = strFileName + " has been successfully uploaded.";
				}

			}	
			else
			{
						lblUploadResult.Text = "Click 'Browse' to select the file to upload.";
			}
		// Display the result of the upload.
		frmConfirmation.Visible = true;

		}
	}
}
Catatan Kode yang dihasilkan dalam Visual Studio 2005 berbeda dari kode yang dihasilkan dalam Visual Studio.NET.

Pemecahan masalah

  1. Buka Machine.config elemen dari file yang terletak di Anda komputer dalam konfigurasi folder di bawah jalan di mana Anda menginstal runtime.
  2. Menemukan <processmodel></processmodel> bagian dalam Machine.config elemen dari file, mengubah pengguna dan atribut password untuk nama dan sandi pengguna yang Anda inginkan W3wp.exe atau Aspnet_wp.exe untuk berjalan di bawah, dan kemudian simpan Machine.config elemen dari file.
  3. Cari ASP sementara.NET file folder yang terletak di CONFIG folder. Klik kanan sementara ASP.NET file folder, dan kemudian Klik Properti.
  4. Dalam Sementara ASP.BERSIH file propertikotak dialog, klik Keamanan tab.
  5. Klik Lanjutan.
  6. Dalam Pengaturan kontrol akses untuk sementara ASP.BERSIH file kotak dialog, klik Tambahkan.
  7. Di kotak dialog, ketik nama pengguna dalam Nama kotak, dan kemudian klikOke.
  8. Dalam Entri izin untuk sementara ASP.NET File kotak dialog, memberikan pengguna izin penuh, dan kemudian klikOke untuk menutup Sementara ASP.BERSIH file Properti kotak dialog.

REFERENSI

Untuk informasi lebih lanjut, kunjungi Website Microsoft berikut Situs Web Developer Network (MSDN):
http://msdn2.Microsoft.com/en-us/library/ms535263.aspx

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

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

.aspx http://msdn2.Microsoft.com/en-us/library/System.web.UI.htmlcontrols.htmlinputfile.postedfile (vs.71)
Untuk informasi lebih lanjut, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
295626Anda tidak bisa meng-upload file besar ketika Anda menggunakan kontrol server HtmlInputFile

Properti

ID Artikel: 816150 - Kajian Terakhir: 04 Oktober 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Kata kunci: 
kbwebserver kbcontrol kbhowtomaster kbmt KB816150 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:816150

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