通过JQuery AJAX发送文件流

时间:2015-09-16 16:46:55

标签: javascript c# jquery asp.net ajax

我想做什么:

将文件上传到autoCAD服务器并显示从服务器收到的URN。

我目前正在做什么:

使用<asp:FileUpload>控件上传文件;

使用以下代码从代码中获取上传的文件对象:HttpPostedFile myFile = FileUpload1.PostedFile;

后面的代码将返回一个名为FileURN的字符串,它将在textarea中显示:

<textarea class="form-control" readonly="readonly" rows="5" id="txt_resUploadFile"><%= FileURN %></textarea>

问题:

每次单击上传按钮时,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";

0 个答案:

没有答案