我有我在哪里提取基本文件信息的.aspx页面上的文件上传控制。 该要求是,我需要从客户机选择的文件绝对路径保存到数据库。
我已阅读本网站以及其他地方通过自然ASP.NET不允许读取来自客户端的机器安全原因的信息。
但我想知道是否有利用周围的js或东西得到的绝对路径,然后将它传递给asp.net变量这个问题的方法吗?
我有我在哪里提取基本文件信息的.aspx页面上的文件上传控制。 该要求是,我需要从客户机选择的文件绝对路径保存到数据库。
我已阅读本网站以及其他地方通过自然ASP.NET不允许读取来自客户端的机器安全原因的信息。
但我想知道是否有利用周围的js或东西得到的绝对路径,然后将它传递给asp.net变量这个问题的方法吗?
你真的不能做任何合理有关此限制。
用户的计算机上的任何完全受信任的代码可以做到这一点。 所以,你的目标是说服用户安装的东西,会为你提供的信息。
对于Windows(都需要某种形式的安装目录):
几乎所有我相信平台也有办法来使...有同样痛苦的安装要求。
你不能得到客户机路径。 为了安全起见,浏览器将不会发布完整的文件的路径。
你不能获取文件的完整路径。 为了安全起见,浏览器将不会发布完整的文件的路径。
尝试在Java脚本使用下面的代码。
lbltext.Text = FileUpload1.PostedFile.FileName
浏览器发送文件,而不完整的文件路径,这样检索文件的路径,你通过javascript功能做在客户端:
<script type="text/javascript">
function OnSubmitHandler(myForm)
{
var fileUpload = document.getElementById('<% = FileUpload1.ClientID %>');
myForm.action = myForm.action + "?FilePath=" + fileUpload.value;
return true;
}
</script>
<form id="Form1" method="post" runat="server" onsubmit="return OnSubmitHandler(this);">
...
<asp:FileUpload id="FileUpload1" .... />
...
</form>
如果你不想通过查询字符串发送文件的路径,你可以创建隐藏的表单字段,那么文件的路径将通过邮局寄送。