2013-05-22 29 views
1

我對asp.net世界相當陌生,所以我將不勝感激任何幫助或不同的解決方案。傳遞FileUpload.PostedFile作爲參數(服務器端方法)

有沒有人知道通過javascript/jquery將FileUpload的PostedFile(HttpPostedFile)傳遞給服務器端方法的方法?

客戶端? //我如何傳遞FileUpload.PostedFile?

代碼隱藏:

[System.Web.Services.WebMethod] 
public static void SaveMyFile(HttpPostedFile myFile) 
{ 
// code to save file here 
} 

注:我不想使用插件或任何其他第三方控件。

+0

不知道你想做什麼,但看看這個SO帖子的答案... http://stackoverflow.com/questions/16689461/fileupload-postedfile-to-pagemethods-sever-side-method –

+0

@PaulZahra你已經發布了這個鏈接.. – Zaki

+0

@保羅,你的鏈接指向我的文章。無論如何,基本上我想要做的是創建我自己的文件上傳控制。並保存該文件,而不會導致回發,因此利用pagemethods – Stephen

回答

0

該腳本可以用來發布文件,

<script type="text/javascript"> 
function send() { 
    var fd = new FormData(); 
    fd.append("fileToUpload", document.getElementById('filecontrol').files[0]); 
    var xhr = new XMLHttpRequest(); 
    xhr.open("POST", "url"); 
    xhr.send(fd); 
     } 
</script> 
<input type="file" id="filecontrol" /> 
<input type="button" onclick="send()" value="Upload File" /> 

並在服務器端,您可以通過使用

HttpPostedFile hpf = Request.Files[0]; 
+0

嗨火焰之翼,非常感謝你的答覆,非常感謝。我收到錯誤「FormData」未定義。任何想法如何解決它? – Stephen

+0

@NewGuy:不,它不應該。它的工作完全適合我.. –

+0

似乎可能與我使用IE 9的事實有關。從谷歌快速搜索發現,FormData只適用於IE10。 – Stephen

相關問題