2010-08-11 64 views
0

我有一個使用IIS上傳的Web應用程序。我希望使用該應用程序的用戶能夠選擇位於其(用戶)計算機上的文件並閱讀其內容。使用asp.net中的web應用程序從我的電腦中瀏覽文件

的代碼是:

TextReader trs = new StreamReader(faFile.Value); 
      DataAccessLayer.clearFA(); 
      string line = trs.ReadLine(); 
      // Read all unneeded data 
      while (line != "** Start Data **") 
      { 
       line = trs.ReadLine(); 
      } 
      line = trs.ReadLine(); 
      while (line != null) 
      { 
       string[] words = line.Split('*'); 
       // There is no message 
       if (words[4] == "") 
       { 
        DataAccessLayer.insertIntoFA(Int32.Parse(words[1]), words[3].Replace("'", "")); 
       } 
       else 
       { 
        DataAccessLayer.insertIntoFA(Int32.Parse(words[1]), words[4].Replace("'", "")); 
       } 
       line = trs.ReadLine(); 
      }   
     } 

當我從我的電腦運行它的工作原理。但是,當我嘗試從IIS中運行它,它給了我下面的錯誤:

Could not find a part of the path 'C:\Documents and Settings\myUser\Desktop\file.txt'. 

據我所知,應用程序不能讀取用戶電腦的文件。任何想法我怎麼能使它工作?

謝謝!

格雷格

回答

0

這是出於安全原因 - 瀏覽器不能訪問用戶的文件系統。

沒有辦法解決這個問題,因爲在瀏覽器內運行的所有其他技術都是沙盒並受到限制(同樣出於安全原因)。

最接近你可以得到的是使用<input type="file">,讓用戶選擇一個文件上傳。

+0

這就是我正在做的。我有:那麼用戶如何上傳文件以便應用程序能夠讀取它? – 2010-08-11 12:36:08

+0

@grishaoks - 你爲什麼不使用asp.net ['FileUpload'](http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.fileupload.aspx)控件?它使您可以直接訪問上傳的字節流。 – Oded 2010-08-11 12:40:23

+0

是的,現在的作品:)謝謝! – 2010-08-12 05:35:06

0

IE8上傳文件的路徑是完整路徑。您可以從全名獲取文件名。在保存文件之前合併服務器路徑和文件名稱

相關問題