簡體   English   中英

使用參數從JavaScript調用C#

[英]Calling C# from JavaScript with parameters

我使用的是http://www.thecssninja.com/javascript/gmail-upload上的源文件(所有代碼都歸功於CSSNinja)。 我遇到的問題是,我基本上需要轉換此JavaScript的一部分以與C#交互,問題是我真的不了解JavaScript。 我需要能夠基於Session變量將文件保存到具有特定文件名的特定目錄中。 當前的腳本調用了一個簡單的php,而我不知道如何使用PHP與Sessions交互。 任何幫助都是極好的。

xhr.open("POST", "upload.php");
xhr.setRequestHeader("If-Modified-Since", "Mon, 26 Jul 1997 05:00:00 GMT");
xhr.setRequestHeader("Cache-Control", "no-cache");
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xhr.setRequestHeader("X-File-Name", file.fileName);
xhr.setRequestHeader("X-File-Size", file.fileSize);
xhr.setRequestHeader("Content-Type", "multipart/form-data");
xhr.send(file);

問題基本上是如何將上述內容轉換為與C#中的類的接口,並傳入上面的任何/一個參數。

PHP代碼

<?php
$headers = getallheaders();
// create the object and assign property
$file = new stdClass;
$file->name = basename($headers['X-File-Name']);
$file->size = $headers['X-File-Size'];
$file->content = file_get_contents("php://input");

// if everything is ok, save the file somewhere
echo $file->content;    

?>

好吧,足夠的評論...

JavaScript所做的只是向您發送兩個特殊的HTTP標頭和一個文件流作為請求主體,而PHP正在讀取該標頭。 而已。

setRequestHeader(name, value)使用名稱name和值value設置普通的HTTP標頭 ,而文件內容作為普通的請求正文發送。 所有標准HTTP。

如果您知道C#(大概是ASP.NET),則訪問兩個HTTP標頭並讀取請求流應該沒問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM