我正在为内部网站创建文件目录。用户将访问该页面并插入位置和文件名,并将信息提交到数据库。我尝试使用文件上载打开Windows资源管理器,以便用户可以找到文件和路径。但是,asp文件上传不会允许我在客户端捕获路径。由于这是一个内部网站,因此Internet Explorer或Windows注册表是否具有类似于受信任站点的受信任脚本的权限设置?
我创建了一个JQuery脚本,将路径复制到文本框,但是收到一条错误消息,内容为“ C:\ fakepath \ test.pdf”。 test.pdf是文件名,但c:\ fakepath不是路径。我尝试了多个服务器变量,但这些变量只能告诉服务器端的路径。
<script>
$(document).ready(function(){
$("#button").click(function(){
$("#text1").val($("#text").val());
});
});
</script>
<input type="file" id="text" />
<input type="text" id="text1" />
<input type="button" value="Click Me!" id="button" />
答案 0 :(得分:1)
要访问本地路径,您需要在网页中使用ActiveX对象。它可以帮助您获取IE中的路径。
要使用文件和目录,应将服务器对象设置为Scripting.FileSystemObject,然后使用GetDirectory()方法获取目录对象。
示例代码:
public partial class MainWindow : Window, INotifyPropertyChanged
{
public MainWindow()
{
InitializeComponent();
}
public event PropertyChangedEventHandler PropertyChanged;
private void TextBoxBase_OnTextChanged(object sender, TextChangedEventArgs e)
{
MatchingNames.ItemsSource = Enumerable
.Range(0, int.Parse(N.Text))
.Select(n1 => new
{
Item = "Button " + n1
});
}
public double ItemMaxHeight
{
get
{
if (MatchingNames == null)
return double.PositiveInfinity;
double height = 0.0;
var icg = MatchingNames.ItemContainerGenerator;
for (int i = 0; i < MatchingNames.Items.Count; i++)
height += (icg.ContainerFromIndex(i) as FrameworkElement).ActualHeight;
return height
+ tb.Margin.Top + tb.ActualHeight + tb.Margin.Bottom
+ 6.0; // 6 should match the margin of the scrollviewer
}
}
private void MatchingNames_SizeChanged(object sender, SizeChangedEventArgs e)
{
if (e.HeightChanged)
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("ItemMaxHeight"));
}
}
有关详细信息和示例代码,您可以参考下面的链接并下载示例文件。