我想做什么:
将文件上传到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";