我正在使用VS2010,C#开发一个ASP.NET Web应用程序,当我的用户点击超链接(或标签,它没有区别)时我想显示文件上传控件,然后上传操作应该执行,我上传控件没有问题,但目前我有一个隐形上传控件,在我的超链接onclick函数中使用JavaScript显示它,上传控件显示但我不知道如何获取上传的文件,如何我应该执行此操作吗?我想在用户点击标签或超链接时显示上传文件对话框,然后他们可以选择他们的文件并上传文件,最后我应该能够在服务器端处理这个文件(我要去获取文件流并将其存储在SQL中,我有哪些选择? JQuery的?阿贾克斯? JavaScript的?或其他什么?
我的JavaScript函数:
function OpenFile()
{
document.getElementById("<%=fu.ClientID%>").style.display="";
var result = document.getElementById("<%=fu.ClientID%>").click();
document.getElementById("<%=fu.ClientID%>").style.display="none";
return false;
}
和我的标记:
<asp:FileUpload ..... style="display:none;"....>
<ASP:hyperlink onclick="OpenFile();"...../>
答案 0 :(得分:1)
选择文件并执行PostBack
后,您可以按如下方式访问该文件
<asp:FileUpload ID="FileUpload1" ..... style="display:none;"....>
访问基础发布的文件
var fileLen = FileUpload1.PostedFile.ContentLength;
Byte[] Input = new Byte[fileLen];
myStream = FileUpload1.FileContent;
myStream.Read(Input, 0, fileLen);
或者只是将其保存在服务器上:
FileUpload1.SaveAs(savePath);
答案 1 :(得分:1)
我想推荐 uploadify ,它是用flash构建的。使用jQuery和asp.net非常简单易用。
Demo依赖php上传,虽然它可以用于任何平台,包括asp.net。 您必须编写一个处理程序文件来执行上传,流式传输和SQL存储部分。
检查这些答案