2012-07-11 63 views
0

我一直在嘗試從我的應用程序上傳文件到Fileshawk.com。 這裏是我是如何做到的:C#:將文件上傳到文件主機

1-創建了一個Web瀏覽器控件

2 - 在網頁中它有文件的輸入標籤加載頁面

3-。

4-我試圖通過使用失敗的方法將文件添加到HTML。

private void Set_Text_TAG_INPUT(string attribute, string attname, string value) 
    { 
     // Get a collection of all the tags with name "input"; 
     HtmlElementCollection htmle = webBrowser1.Document.GetElementsByTagName("input"); 

     foreach (HtmlElement current in htmle) 
     { 
      if (current.GetAttribute(attribute).Equals(attname)) 
      { 
       current.SetAttribute("value", value); 
      } 
     } 
    } 
    private void button1_Click(object sender, EventArgs e) 
    { 
     Set_Text_TAG_INPUT("id","upfile_1342028154587", "FILE.txt"); 
    } 

所以它沒有改變Input標籤的值。

有沒有什麼辦法可以將我的文件添加到HTML或頁面代碼,並按下上傳我已經有一個方法調用Web瀏覽器按鈕並單擊它。

例如,當您從輸入文件標籤中單擊選擇文件時,會彈出一個窗口並選擇該文件,現在當您單擊確定時,該文件存儲在HTML中的位置在哪裏?

最後請原諒我,如果我是HTML和網絡知識的新手。

回答

1

這是瀏覽器的安全功能。您不能以編程方式設置類型爲'file'的輸入標籤的值的值,因爲它會引入安全漏洞(例如,惡意開發人員可能在處理提交事件並獲取他們想要的任何文件之前設置該值)。

+0

有什麼辦法,我可以把它上傳使用Web瀏覽器或HTML – 2012-07-11 18:16:16

+1

離開我可以用MVC解釋它,但它看起來像你正在使用的WebForms,這超出了我的經驗。我會環顧MSDN如何上傳一個文件(很可能WebControl會爲你處理它?)。 – vansimke 2012-07-11 18:29:15

0

使用WebScrapper,一個C#.NET庫輕鬆上傳文件/下載文件,但您需要分析Fileshawk.com HTML以提供您自己的WebScrapper語法,總共有22個文件主機語法可用於樣本,並且已經可用。

http://sorainnosia.com/Home/Article/WEBSCRAPPER