參考自:
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. 套题 bestcoder 84

    A题:Aaronson 静下心来观察就会发现1.如果m大于等于n的位数,那么n直接写成二进制形式就是最优解形式2.如果m小于n的位数,那么贪心地使得高位尽可能地多消掉n的值,因为高位少写一个数就意味着 ...

  2. 用代码控制UI界面

           public class MainActivity extends Activity { //当第一次创建Activity时回调该方法 @Override protected void ...

  3. URAL - 1917 Titan Ruins: Deadly Accuracy(水题)

    水题一个,代码挫了一下: 题意不好理解. 你去一个洞窟内探险,洞窟内有许多宝石,但都有魔法守护,你需要用魔法将它们打下来. 每个宝石都有自己的防御等级,当你的魔法超过它的防御等级时它就会被你打下来. ...

  4. Objective 笔记C(第二天)

    属性本质 •什么是属性 在OC中,属性提供了setter和getter方法,本质上属性就是方法,属性的值是由实例变量来保存的. • 属性的本质(一般三个部分组成) a.保存属性值的实例变量int _a ...

  5. 在Linux CentOS上编译CoreCLR

    经过几天的努力,终于解决了在CentOS上编译CoreCLR的问题.最终发现问题是CMAKE_C_FLAGS的设置引起的. 只要在“src/pal/tools/clang-compiler-overr ...

  6. java 解析xml

    http://developer.51cto.com/art/200903/117512.htm

  7. 【软件架构】IM架构设计(安卓版)

    1. 架构总览 2. 模块介绍 2.1 协议封装与任务流程 2.1.1 协议与任务的封装 协议有协议头(协议头因为格式相同,被抽象出来)和协议体组成,协议有两类:请求协议(request)和回复协议( ...

  8. PAIP.并发编程 多核编程 线程池 ExecutorService的判断线程结束

    PAIP.并发编程 多核编程 线程池 ExecutorService的判断线程结束 ExecutorService并没有提供什么 isDone()或者isComplete()之类的方法. 作者Atti ...

  9. atitit.人脸识别的应用场景and使用最佳实践 java .net php

    atitit.人脸识别的应用场景and使用最佳实践 java .net php 1. 人脸识别的应用场景 1 2. 框架选型 JNI2OpenCV.dll and JavaCV 1 3. Url ap ...

  10. JavaScript核心编程(代码片段)

    var a = function () { function someSetup() { var setup = 'done'; } function actualWork() { alert('Wo ...