私のWebアプリケーションでは、Asp.Netのファイル参照の時点で、ユーザーにFTPロケーションを参照する機能を提供する必要があります。
そのために、私は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
}
}
}
私が何か間違ったことをしている場合は私に提案してください。または他の方法があれば私に提案してください。