在我的 Web 应用程序中,我需要为用户提供浏览其 FTP 位置的便利,就像 Asp.Net 的文件浏览一样。
为此,我使用OpenFileDialog
了 Windows 窗体。它适用于任何本地位置,但不适用于任何 ftp 位置。
下面是我的代码。
protected void BtnOpenFileDialog_Click(object sender, EventArgs e)
{
var t = new Thread(SelectFolder);
t.IsBackground = true;
t.SetApartmentState(ApartmentState.STA);
t.Start();
}
private void SelectFolder()
{
Stream myStream = null;
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.InitialDirectory = "ftp://username:password@ftpidaddress/";
openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
openFileDialog1.FilterIndex = 2;
openFileDialog1.RestoreDirectory = false;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
try
{
if ((myStream = openFileDialog1.OpenFile()) != null)
{
using (myStream)
{
// code to read the stream here.
}
}
}
catch (Exception ex)
{
// exception handing here
}
}
}
如果我做错了什么,请建议我。或者如果有其他方法可以建议我。