Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过jqueryajax发送文件流_Javascript_C#_Jquery_Asp.net_Ajax - Fatal编程技术网

Javascript 通过jqueryajax发送文件流

Javascript 通过jqueryajax发送文件流,javascript,c#,jquery,asp.net,ajax,Javascript,C#,Jquery,Asp.net,Ajax,我想做什么: 将文件上载到autoCAD server并显示从服务器接收的URN 我目前正在做的事情: <div> <form id="form1" runat="server"> <div> <asp:FileUpload ID="FileUpload1" runat="server" /> <br/> <asp:Button class=" btn btn-primary

我想做什么:

将文件上载到autoCAD server并显示从服务器接收的URN

我目前正在做的事情:

<div>
<form id="form1" runat="server">
    <div>
        <asp:FileUpload ID="FileUpload1" runat="server" />
        <br/>
        <asp:Button class=" btn btn-primary col-md-2" ID="btnUpload" runat="server" Text="Upload file" onclick="btnUpload_Click" />
    </div>
</form>
<textarea class="form-control" readonly="readonly" rows="5" id="txt_resUploadFile"><%= FileURN %></textarea>
    protected void btnUpload_Click(object sender, EventArgs e)
    {
        if (FileUpload1.HasFile)
        {
            HttpPostedFile myFile = FileUpload1.PostedFile;
            //send myFile to autoCAD server and get result from that server....
        }
    FileURN = "The Result";
使用
控件上载文件

使用以下命令从代码隐藏获取上载的文件对象:
HttpPostedFile myFile=FileUpload1.PostedFile

代码隐藏将返回一个名为
FileURN
的字符串,它将使用以下命令显示在文本区域中:

问题:

<div>
<form id="form1" runat="server">
    <div>
        <asp:FileUpload ID="FileUpload1" runat="server" />
        <br/>
        <asp:Button class=" btn btn-primary col-md-2" ID="btnUpload" runat="server" Text="Upload file" onclick="btnUpload_Click" />
    </div>
</form>
<textarea class="form-control" readonly="readonly" rows="5" id="txt_resUploadFile"><%= FileURN %></textarea>
    protected void btnUpload_Click(object sender, EventArgs e)
    {
        if (FileUpload1.HasFile)
        {
            HttpPostedFile myFile = FileUpload1.PostedFile;
            //send myFile to autoCAD server and get result from that server....
        }
    FileURN = "The Result";
每次单击上载按钮时,html页面都会刷新。我知道当访问服务器时,整个页面会被刷新。所以我想用AJAX来实现这一点。但很快我意识到AJAX只调用Webmethod,它必须是静态的。因为
HttpPostedFile myFile=FileUpload1.PostedFile
不再以静态方式工作,如何获取上载的文件流

代码段:

html:

<div>
<form id="form1" runat="server">
    <div>
        <asp:FileUpload ID="FileUpload1" runat="server" />
        <br/>
        <asp:Button class=" btn btn-primary col-md-2" ID="btnUpload" runat="server" Text="Upload file" onclick="btnUpload_Click" />
    </div>
</form>
<textarea class="form-control" readonly="readonly" rows="5" id="txt_resUploadFile"><%= FileURN %></textarea>
    protected void btnUpload_Click(object sender, EventArgs e)
    {
        if (FileUpload1.HasFile)
        {
            HttpPostedFile myFile = FileUpload1.PostedFile;
            //send myFile to autoCAD server and get result from that server....
        }
    FileURN = "The Result";

您可以尝试使用asp.net AJAX。看看这个,你能更具体地说你想实现什么吗?如果你仍然使用c#来获取流,你可以遵循这个答案Hi@Developer,首先感谢你的编辑建议。我的最终目标是向autoCAD server发送一个PUT RestRequest,requestBody参数携带我从
asp:FileUpload
控件上载的文件的filestream数据(字节数组)。我在这里遇到的问题是,如果我使用C#onClick函数,当函数完成时,将调用整页刷新,这是我不想要的。使用C#onClick,您无法避免回发。但是,您可以使用updatepanel吗?或者我认为客户端Ajax解决方案非常适合这种情况。使用(var client=new System.Net.WebClient()){client.UploadData(地址,“PUT”,数据);}你可以尝试使用asp.net AJAX。看看这个,你可以更具体地说你想实现什么?如果你仍然使用c#来获取流,你可以遵循这个答案Hi@Developer,首先感谢编辑建议。我的最终目标是向autoCAD server发送一个PUT RestRequest,requestBody参数携带文件流数据(字节数组)我从
asp:FileUpload
控件上传的文件。我这里的问题是,如果我使用C#onClick函数,当函数完成时,将调用一个完整的页面刷新,这是我不想要的。有了C#onClick,你无法避免发回。但是你能使用updatepanel吗?或者我认为客户端Ajax解决方案会很适合对于这种情况,使用(var client=new System.Net.WebClient()){client.UploadData(地址,“PUT”,data);}