0

我正在使用 VS2010,C# 开发一个 ASP.NET Web 应用程序,我想在我的用户单击超链接(或标签,它没有区别)时显示文件上传控件,然后应该执行上传操作,我使用上传控件没有问题,但目前我有一个不可见的上传控件,它在我的超链接 onclick 函数中使用 JavaScript 显示它,显示上传控件但我不知道如何获取上传的文件,我应该如何执行这个操作?我想在我的用户单击标签或超链接时显示上传文件对话框,然后他们可以选择他们的文件并上传文件,最后我应该能够在服务器端使用这个文件(我要去获取文件流并将其存储在 SQL 中),我有什么选择?查询?阿贾克斯?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();"...../>
4

2 回答 2

1

选择文件并执行后PostBack,您可以按如下方式访问该文件

<asp:FileUpload ID="FileUpload1" ..... style="display:none;"....>

使用PostedFile访问底层发布的文件

    var fileLen = FileUpload1.PostedFile.ContentLength;
    Byte[] Input = new Byte[fileLen];
    myStream = FileUpload1.FileContent;
    myStream.Read(Input, 0, fileLen);

或者只是将其保存在服务器上:

FileUpload1.SaveAs(savePath);
于 2012-09-13T04:16:34.690 回答
1

我想推荐uploadify,它是用 flash 构建的。使用 jQuery 和 asp.net 非常简单易用。

演示依赖 php 进行上传,但它可以用于任何平台,包括 asp.net。您必须编写一个处理程序文件来执行上传、流式传输和 sql 存储部分。

检查这些答案

于 2012-09-13T04:20:40.447 回答