2011-08-26 124 views
0

我正在嘗試向圖像板網站發佈回覆。它可以通過一個Winform Web瀏覽器控件或http請求來完成。 的問題是,有一個帖子,你可以上傳與輸入文件類型元素的圖像的頁面C#將文件上傳到網站

<input type="file" /> 

上出於安全原因,我不能設置元素我要上傳文件的價值。

當我使用篡改數據,看看傳遞給投稿頁面,這是POST_DATA下傳遞的參數

-----------------------------256672629917035 
Content-Disposition: form-data; name="upfile"; filename="image_file_name.jpg" 
Content-Type: image/jpeg 

那麼怎麼可能模擬輸入元素的C#文件上傳?

仔細查看發佈的數據,沒有指定目錄。

回答

2

您可以通過HttpWebRequest對象模擬任何HTTP請求。例如Click here

當您使用輸入類型文件元素時,瀏覽器正在爲您創建請求。如果您只是在HttpWebRequest中重新創建,您可以完全控制請求的所有方面,並且可以根據需要進行修改。

抓住Fiddler的副本可能對您有利。

+0

如果您查看了我收錄的發佈數據,它只包含一個文件名。不是一個文件名和目錄,所以簡單地使用http請求不允許我修改正在發送的信息。我已經知道如何發佈數據。 如何使用http請求模擬文件上傳是我的問題。 – Drake

+0

提琴手很好,我想了一下。它不發送文件目錄到服務器,它自己發送文件的數據。 – Drake

0

如果我理解您的問題正確, 您無法確定從您的Web瀏覽器控件上傳的文件的目錄。

所以......這是不可能的。有關目錄的信息不是由瀏覽器提供的 - 所以它不應該由網頁瀏覽器控制。

正如MizardX建議的那樣,最好使用C#發送請求。

+0

我懷疑這是他的問題 –