大哥们!救急!.net下如何实现单击按钮弹出文件选择对话框?
类似FileUpload控件,但FileUpload控件默认打开的是客户端的“我的桌面”
我希望能做一个类似FileUpload的功能 但点击“浏览”后是打开事先设置好的服务器端的文件夹。
这样我就可以选择服务器端的图片或文件资源而不需每次都要本地上传。
是不是有高手有自己做好的类?
要求有具体的原代码~!分不够再加!
[解决办法]
学习~~~
[解决办法]
你的意思是说需要在本地打开并显示服务器的目录,文件,并操作服务器目录的 文件对话框?
有难度。因为如果很容易实现的话,就不安全了。
[解决办法]
操作系统的文件对话框是不可能的。但是你可以自己做一个类似的web对话框,读取你服务器的文件信息显示出来。
但,这不是你点击“浏览”后的文件对话框哦
[解决办法]
ding
[解决办法]
只有自己写一个,通过 Directory类、File类等读取文件夹或文件名(MSDN上写等很清楚),然后显示在页面上,再结合Ajax效果上应该是能处理得很好的。但就有是前面有朋友提到的安全问题,除非只是内部使用的软件。
[解决办法]
你说的对话框是没有办法实现的,只有前面说的,自己做一个显示服务器文件的树
[解决办法]
用activex可以实现
[解决办法]
学习中...
[解决办法]
如果可以打开服务器的文件夹,那安全性何在?
[解决办法]
一起学习
[解决办法]
protected void TreeView1_PreRender(object sender, EventArgs e)
{
TreeNode tn = TreeView1.Nodes[0];
TreeView1.Nodes[0].Text = @ " <span id= ' " + Server.MapPath( "../ ").Replace( "\\ ", "\\\\ ") + @ " '); return false; " "> 内容管理系统 </span> ";
if (tn.ChildNodes.Count == 0)
{
tn.Value = Server.MapPath( "../ ");
PhysicDirectory getDirectory = new PhysicDirectory();
Hashtable htb = getDirectory.GetChildDirectory(Server.MapPath( "../ "));
foreach (DictionaryEntry de in htb)
{
TreeNode NewNode = new TreeNode(de.Value.ToString(), de.Key.ToString());
NewNode.PopulateOnDemand = true;
NewNode.SelectAction = TreeNodeSelectAction.Select;
//by jnx:地址编码,防止部分服务器报错
string naviurl = Server.UrlEncode(de.Key.ToString());
NewNode.NavigateUrl = "DirectoryInfoList.aspx?dir= " + naviurl;
NewNode.Target = "mainFrame ";
NewNode.Text = @ " <span id= ' " + de.Key.ToString().Replace( "\\ ", "\\\\ ") + @ " '); return false; " "> " + de.Value.ToString() + @ " </span> ";
tn.ChildNodes.Add(NewNode);
}
}
}
protected void TreeView1_TreeNodePopulate(object sender, TreeNodeEventArgs e)
{
if (e.Node.ChildNodes.Count == 0)
{
PhysicDirectory getDirectory = new PhysicDirectory();
Hashtable htb = getDirectory.GetChildDirectory(e.Node.Value.ToString());
foreach (DictionaryEntry de in htb)
{
TreeNode NewNode = new TreeNode(de.Value.ToString(), de.Key.ToString());
NewNode.PopulateOnDemand = true;
NewNode.SelectAction = TreeNodeSelectAction.Select;
//by jnx:地址编码,防止部分服务器报错
string naviurl = Server.UrlEncode(de.Key.ToString());
NewNode.NavigateUrl = "DirectoryInfoList.aspx?dir= " + naviurl;
NewNode.Target = "mainFrame ";
NewNode.Text = @ " <span id= ' " + de.Key.ToString().Replace( "\\ ", "\\\\ ") + @ " '); return false; " "> " + de.Value.ToString() + @ " </span> ";
e.Node.ChildNodes.Add(NewNode);
}
}
}
这个是我做的一个树的代码,显示的就是服务器上面的文件目录(整个虚拟目录)
[解决办法]
其实楼上几位大哥说得也很有道理
其实这个功能平时大家也不少见到的
比如FreeTextBox中 插入图片的按钮就是这个功能,它点击后就打开设置好的图片存放目录
可以让管理员在添加文章时插入或上传图片!
我就是想知道这个功能的实现方法和代码~~
----------------------------------------
管理员打开的的还是自己客户端的文件啊 只是传到服务器而已 LZ要搞清楚
----------------------------------------
FTB的图片按钮点开后本来就是显示的服务器上的图片,你是上传的是客户端的,但你上传完了显示的是哪的?搞清楚