C# asp.net文件上载控件,将文件上载到ftp
我正在尝试通过asp.net表单上载文件。问题是,当我使用FileUpload控件获取文件路径时,得到的只是文件名,而不是完整路径。要将文件上传到ftp,我需要完整路径。我能做到这一点吗 表格编号:C# asp.net文件上载控件,将文件上载到ftp,c#,asp.net,file-upload,ftp,C#,Asp.net,File Upload,Ftp,我正在尝试通过asp.net表单上载文件。问题是,当我使用FileUpload控件获取文件路径时,得到的只是文件名,而不是完整路径。要将文件上传到ftp,我需要完整路径。我能做到这一点吗 表格编号: <div align="center"> <asp:FileUpload id="FileUploadControl" runat="server" Width="600px" /> <br />
<div align="center">
<asp:FileUpload id="FileUploadControl" runat="server" Width="600px" />
<br />
<asp:Button ID="btnUpload" runat="server" Text="Upload" OnClick="btnUpload_Click" />
</div>
不一定要使用FileUpload,但我需要一些东西,用户可以从文件夹中选择文件,并提供完整路径。直接从:
保存上传的文件
FileUpload控件不会自动启动
在用户选择要上载的文件后,将文件保存到服务器。
必须显式提供控件或机制以允许用户
提交指定的文件。例如,您可以提供一个按钮
用户单击以上载文件。您编写的代码
保存指定的文件应调用SaveAs方法,该方法保存
将文件的内容复制到服务器上的指定路径。通常情况下
在事件处理方法中为
将帖子发回服务器。例如,如果您提供了一个按钮
要提交文件,可以在其中包含保存文件的代码
单击事件的事件处理方法
因此,您永远不会真正保存文件(甚至不会上载)。你想要的是这样的:
static string yourSuperSecretDirectory = @"C:\ApplicationName\Uploads";
protected void btnUpload_Click(object sender, EventArgs e)
{
if(FileUploadControl.HasFile)
{
string filename = Path.Combine(yourSuperSecretDirectory, FileUploadControl.FileName);
FileUploadControl.SaveAs(filename); //actually save/upload the file
string temp = ftp + ftpFolder + filename
try
{
using (WebClient client = new WebClient())
{
client.Credentials = new NetworkCredential(loginName, password);
client.UploadFile(temp, "STOR", FileUploadControl.FileName); // ???
}
}
catch (Exception ex)
{
Console.WriteLine(ex.StackTrace);
}
}
}
是的,谢谢,这就是工作。我只是不明白,我怎么会错过这个。今天和这个时代,他们已经有很多例子了,说明了如何做谷歌搜索,带来了很多例子
static string yourSuperSecretDirectory = @"C:\ApplicationName\Uploads";
protected void btnUpload_Click(object sender, EventArgs e)
{
if(FileUploadControl.HasFile)
{
string filename = Path.Combine(yourSuperSecretDirectory, FileUploadControl.FileName);
FileUploadControl.SaveAs(filename); //actually save/upload the file
string temp = ftp + ftpFolder + filename
try
{
using (WebClient client = new WebClient())
{
client.Credentials = new NetworkCredential(loginName, password);
client.UploadFile(temp, "STOR", FileUploadControl.FileName); // ???
}
}
catch (Exception ex)
{
Console.WriteLine(ex.StackTrace);
}
}
}