繁体   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