资源上传,上传到文件服务器上

上传控件:<input id="fileupload" name="fileupload" type="file"/>

1.将上传的文件,上传到本地路径下:HttpFileCollection file=Request.File["fileupload"];将这个file文件保存到本地上,再从本地将这个文件上传到文件服务器。

得到文件名:var filename=Path.GetFileName(file.filename);

得到文件类型:var fileextention=Path.GetExtention(file);

上传到服务器的路径:file.SaveAs(Server.MapPath('~/UpLoadFiles/')+filename)

2.可以到网上找下FTPCLASS,里面有许多方法里面实现了上传、下载 等操作。

FTPClass fileClass = new FTPClass(new Uri(ConfigurationManager.AppSettings["FTPAddress"].ToString()), ConfigurationManager.AppSettings["FTPUser"].ToString(), ConfigurationManager.AppSettings["FTPPwd"].ToString());
//上传本地临时文件
if (!fileClass.FileExist(f.LJ))
{
fileClass.UploadFile(filepath); ;
}
if (File.Exists(filepath))
{
File.Delete(filepath);
}

/// <summary>
/// 上传文件到FTP服务器
/// </summary>
/// <param name="LocalFullPath">本地带有完整路径的文件名</param>
/// <param name="RemoteFileName">要在FTP服务器上面保存文件名</param>
/// <param name="OverWriteRemoteFile">是否覆盖远程服务器上面同名的文件</param>
public bool UploadFile(string LocalFullPath, string RemoteFileName, bool OverWriteRemoteFile)
{
try
{
if (!IsValidFileChars(RemoteFileName) || !IsValidFileChars(Path.GetFileName(LocalFullPath)) || !IsValidPathChars(Path.GetDirectoryName(LocalFullPath)))
{
throw new Exception("非法文件名或目录名!");
}
if (File.Exists(LocalFullPath))
{
FileStream Stream = new FileStream(LocalFullPath, FileMode.Open, FileAccess.Read);
byte[] bt = new byte[Stream.Length];
Stream.Read(bt, 0, (Int32)Stream.Length); //注意,因为Int32的最大限制,最大上传文件只能是大约2G多一点
Stream.Close();
return UploadFile(bt, RemoteFileName, OverWriteRemoteFile);
}
else
{
throw new Exception("本地文件不存在!");
}
}
catch (Exception ep)
{
ErrorMsg = ep.ToString();
throw ep;
}
}

      

原文地址:https://www.cnblogs.com/zhuzhu861618/p/3259489.html