參考自:
http://www.dotblogs.com.tw/puma/archive/2008/11/07/5910.aspx
http://www.codeproject.com/Articles/19398/Example-for-FolderBrowserDialog-in-C
http://www.dotblogs.com.tw/mis2000lab/archive/2011/09/26/fileupload_serverpath_2011.aspx

選擇本機檔案的兩種方式:
1.利用FolderBrowserDialog或OpenFileDialog

<asp:TextBox ID="txtdfolder" runat="server"></asp:TextBox>
<asp:Button ID="ButtonSelectFolder" runat="server" OnClick="btnSelectFolder_Click" text="select folder" />
<asp:TextBox ID="txtdfile" runat="server"></asp:TextBox>
<asp:Button ID="ButtonSelectFile" runat="server" OnClick="btnSelectFile_Click" text="select file" />
public partial class SelectFolder : Form
{
public SelectFolder()
{
InitializeComponent();
}
private void btnSelectFolder_Click(object sender, EventArgs e)
{
FolderBrowserDialog path = new FolderBrowserDialog();
// Basically, there are two additional settings available to make the dialog more customized. First, the property
// ShowNewFolderButton determines whether the user can create a new folder or not.
this.path.ShowNewFolderButton = false;
// Second, the property RootFolder defines the top level folder of the dialog, i.e. the folder which will be shown initially.
this.folderBrowserDialog.RootFolder = System.Environment.SpecialFolder.MyComputer;
DialogResult result=path.ShowDialog();
if (result==DialogResult.OK)
{
// the code here will be executed if the user presses Open in the dialog.
this.txtPath.Text = path.SelectedPath;
}
} private void btnSelectFile_Click(object sender, EventArgs e)
{
OpenFileDialog file = new OpenFileDialog();
file.ShowDialog();
this.txtFile.Text = file.SafeFileName;
}
}

2. 利用asp:FileUpload

    <asp:FileUpload runat="server" ID="uploadImage" />
<asp:Button ID="btnOK" runat="server" OnClick="btnOK_Click" />
protected void btnOK_Click(object sender, EventArgs e)
{ if (uploadImage.HasFile)
{
string fileName = uploadImage.FileName; //*********************************************************************
//*** 方法一 *****
//-- 註解:先設定好檔案上傳的路徑,這是Web Server電腦上的硬碟「實體」目錄。
// C#語法在撰寫磁碟的目錄位置時,請留意以下的寫法:
//String savePath = "c:\\temp\\uploads\\"; //*** 方法二 *****
String savePath = Server.MapPath("~/Book_Sample/Ch18_FileUpload/Uploads/");
//--網站上的 URL路徑。 Server.MapPath() 轉換成Web Server電腦上的硬碟「實體」目錄。 //*** 方法三 *****
//--註解:網站上的目錄路徑。所以不寫磁碟名稱(不寫 “實體”路徑)。
//--以下的 URL路徑,請依照實際狀況,進行修改。否則程式會報錯!
//String saveDir = "\\Book_Sample\\Ch18_FileUpload\\Uploads\\";
//String appPath = Request.PhysicalApplicationPath;
////-- appPath是網站 "根"目錄「轉換成」Server端硬碟路徑。 //String savePath = appPath + saveDir;
//********************************************************************* string savePath = "c:\\Chris\\test_upload\\"; String saveResult = savePath + fileName;
fuImage.SaveAs(saveResult);
}
uploadImage.Dispose();
}

C# 選擇本機檔案並上傳的更多相关文章

  1. UTF-8 的中文檔案名上傳問題

    在上传文件后,一般都会用 move_uploaded_file() 进行文件移动改名.但是 move_uploaded_file() 并不支持 UTF-8 编码,如果含有,那么函数就会执行失败,但是这 ...

  2. [ASP.NET] 如何利用Javascript分割檔案上傳至後端合併

    最近研究了一下如何利用javascript進行檔案分割上傳並且透過後端.特地記錄一下相關的用法 先寫限制跟本篇的一些陷阱 1.就是瀏覽器的支援了 因為本篇有用到blob跟webworker 在ie中需 ...

  3. 如何在 Visual Studio 2012 控制 TFS 版控時要忽略哪些檔案

    幾乎在任何一種版本控管的機制裡,都會遇到那些「不應該簽入到版本庫」的潛規則,以往我們在用 SVN 的時候,我就寫過幾篇文章要大家注意這點.最近都改用 TFS 做版控,因為大多使用 Visual Stu ...

  4. 在 Server 端存取 Excel 檔案的利器:NPOI Library

    转处 http://msdn.microsoft.com/zh-tw/ee818993.aspx Codeplex 軟體套件(Package)資訊 套件名稱 NPOI 作者 tonyqus, huse ...

  5. [Xamarin.Android]如何引用JAR檔案 (转帖)

    這個範例是如何在Xamarin.Android中去使用一個我們自行在開發的JAR檔案. 主要會執行的步驟如下 1. 在Xamarin建立一個Android Java Bindings Library ...

  6. 利用XSD配合XSLT產出特定格式Word檔案 -摘自网络

    利用類別產生XSD檔 產出XSD檔的目的在於提供Word樣板設計之資料框架 在此使用微軟提供之XML Schema Definition Tool (Xsd.exe)工具產生XSD檔 1. 定義類別 ...

  7. C++ 檔案、資料夾、路徑處理函式庫:boost::filesystem

    原帖:https://tokyo.zxproxy.com/browse.php?u=uG7kXsFlW1ZmaxKEvCzu8HrCJ0bXIAddA1s5dtIUZ%2FYzM1u9JI7jjKLT ...

  8. ColorPic 一套簡單好用的顏色選擇器!

    做美工的時候,常常會有配色.抓取顏色及獲取顏色代碼的困擾,專業人士可能有很好的工具來協助,但對於偶爾需要或非經常接觸美工的人來說,即便是有很好的工具,也還要花很多時間進行學習,常常就是看到一個漂亮的顏 ...

  9. 何解決 LinqToExcel 發生「無法載入檔案或組件」問題何解決 LinqToExcel 發生「無法載入檔案或組件」問題

    在自己的主機上透過 Visual Studio 2013 與 IISExpress 開發與測試都還正常,但只要部署到測試機或正式機,就是沒辦法順利執行,卡關許久之後找我協助.我發現錯誤訊息確實很「一般 ...

随机推荐

  1. Vxlan——原理

    1. 为什么需要Vxlan 普通的VLAN数量只有4096个,无法满足大规模云计算IDC的需求,而IDC为何需求那么多VLAN呢,因为目前大部分IDC内部结构主要分为两种L2,L3.L2结构里面,所有 ...

  2. PHP程序设计经典300例

    不知道怎么转载,原文源自:http://bbs.php100.com/u-htm-uid-330857.html 来自:php100钟泽锋 第一例<?php $s_html="< ...

  3. 注册表(regedit)

    注册表(Registry,繁体中文版Windows称之为登录档)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息. 打开方式:1.开始>>运行.中 ...

  4. 从0开始学Swift笔记整理(五)

    这是跟在上一篇博文后续内容: --Core Foundation框架 Core Foundation框架是苹果公司提供一套概念来源于Foundation框架,编程接口面向C语言风格的API.虽然在Sw ...

  5. IPv6协议

    IPv4协议仅能提供约2.5亿个IP地址, 即使使用CIDR和NAT等技术进行扩展也无法满足日益增长的需要. IETF于1996年开始研究下一代IP协议IPv6, 并于1998年12月正式公布(RFC ...

  6. Web API 简单示例

    一.RESTful和Web API Representational State Transfer (REST) is a software architecture style consisting ...

  7. iOS开发——运行时OC篇&使用运行时获取系统的属性:使用自己的手势修改系统自带的手势

    使用运行时获取系统的属性:使用自己的手势修改系统自带的手势 有的时候我需要实现一个功能,但是没有想到很好的方法或者想到了方法只是那个方法实现起来太麻烦,一或者确实为了装逼,我们就会想到iOS开发中最牛 ...

  8. ASP.NET MVC4+EasyUI+EntityFrameWork5权限管理系统——菜单模块的实现(二)

    ASP.NET MVC4+EasyUI+EntityFrameWork5权限管理系统——数据库的设计(一) 菜单和模块是在同一个表中,采用的是树形结构,模块菜单表结构如下代码: USE [Permis ...

  9. Category和Extension

    转: http://blog.csdn.net/leikezhu1981/article/details/19091049 一.概述 类别是一种为现有的类添加新方法的方式. 利用Objective-C ...

  10. 【由VerySky原创】CX51、CX52 ——数据表

    今天通过DEBUG  CX52 得出所保存的数据表是ECMCA: