我要写一个功能,就是让用户在网页上通过打开文件的对话框选择完文件后只将文件名和路径保存到数据库中,而不需要将文件上传到服务器上。我本打算用Input File控件实现,可是当选择完文件以后哪怕点击一个Clicked事件中没有一行代码的按钮,Input File控件也会把文件往服务器上传。这些文件很多都有好几百兆,这么传的话我们公司网络会摊掉了。有没有什么办法可以让我取到用户选择的文件路径而不用把文件上传?
解决方案 »
- 如何将SQL数据库身份验证登陆转换成windows身份验证登陆?
- DataGrid怎么在页面上绑定行索引?急,在线等
- 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
- 如何不让ASP.NET自动更改HTML代码当中的ID
- 为什么我的log4Net一点反应没有?
- 请问在webform中使用自定义的winform控件,如何传值?
- 怎样从asp.net下实现将文件存入sql数据库的image类型,急!!!
- 虚拟路径“/news/userControl/adminNewsAdd.ascx”映射到另一个应用程序,这是不允许的。请问这样的问题应该怎样解决?
- vs里有没有设置解决方案里不能移动文件或提示
- 将写的程序打包后,安装时它会默认安装在wwwrooot下,怎么让它安装到其它地方?
- aspnet中哪些资源需要释放啊
- mytb1.Width = 10 '为什么会出现无法转换的问题
string xx=fileInput.value;
前提是这个控件是runat=server的
string xx=fileInput.value;
不要做上传的处理就可以了
Dim files() as String = Directory.GetFiles(directoryPath[, optionalWildCard])' --- DirectoryInfo 例子 ----
Dim myDir as DirectoryInfo = New DirectoryInfo(directoryPath)
Dim fileInfos() as FileInfo = myDir.GetFiles([optionalWildCard])值得注意的是,两者返回的类型是不同的,一个是String类型的数组,另外一个是FileInfo类型的数组。下面就是绑定的方法:VB.NET<%@ Import Namespace="System.IO" %>
<script language="VB" runat="server">
Sub Page_Load(sender as Object, e as EventArgs)
Dim dirInfo as New DirectoryInfo(Server.MapPath(""))
articleList.DataSource = dirInfo.GetFiles("*.aspx")
articleList.DataBind()
End Sub
</script><asp:DataGrid runat="server" id="articleList" Font-Name="Verdana"
AutoGenerateColumns="False" AlternatingItemStyle-BackColor="#eeeeee"
HeaderStyle-BackColor="Navy" HeaderStyle-ForeColor="White"
HeaderStyle-Font-Size="15pt" HeaderStyle-Font-Bold="True">
<Columns>
<asp:HyperLinkColumn DataNavigateUrlField="Name" DataTextField="Name"
HeaderText="文件名" />
<asp:BoundColumn DataField="LastWriteTime" HeaderText="最后修改时间"
ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}" />
<asp:BoundColumn DataField="Length" HeaderText="文件大小"
ItemStyle-HorizontalAlign="Right"
DataFormatString="{0:#,### 字节}" />
</Columns>
</asp:DataGrid>
<input type="hidden" name="FileUrl" id="FileUrl" runat="server">javascript:
function getUrl()
{
document.formname.FileUrl.value = document.formname.filename.value//如果指定了form名
//else document.getElementById("FileUrl").value = document.getElementById("filename").value (IE5+NN6+)
}
这样file没有runat=server应该不会上传了吧……如果还上传,就干脆把他扔到runat=server的form外
你的方法是不错,可惜我要选的是客户端的目录和文件。To realljx和 BubbleInDiamond:
看来只能用纯Javascript方法了。这个办法还是不错的。