У меня есть элемент управления ASP для загрузки файлов. Когда пользователь отправляет его, он сначала локально сохраняется там, где я запускаю веб-сайт, а затем копирую его на удаленный ftp-сервер.Можно временно сохранить файл локально перед отправкой на ftp-сервер?
Однако возможно ли удалить его с локального сервера после его копирования на ftp-сервер? Я думаю, что он хранит его в папке с temp, но я не могу заставить это работать. На данный момент мне нужно создать папку в моем проекте под названием «temp». Есть идеи? Здесь метод:
String id = Request.QueryString["ID"];
String path = Server.MapPath("~/temp/");
String filename = Path.GetFileName(fuPicture.PostedFile.FileName);
if (fuPicture.HasFile)
{
try
{
if (
fuPicture.PostedFile.ContentType == "image/jpeg" ||
fuPicture.PostedFile.ContentType == "image/png" ||
fuPicture.PostedFile.ContentType == "image/gif"
)
{
fuPicture.PostedFile.SaveAs(path + fuPicture.FileName);
}
else
{
lblFeedback.Text = "Not allowed file extension";
}
}
catch (Exception ex)
{
lblFeedback.Text = "Error when uploading";
}
path += fuPicture.FileName;
String ftpServer = "ftp://xxxx:xxxx";
String userName = "xx";
String password = "xx";
FtpWebRequest request =
(FtpWebRequest)WebRequest.Create(new Uri("ftp://xxxx:xxxx/" + id));
request.Method = WebRequestMethods.Ftp.MakeDirectory;
request.Credentials = new NetworkCredential(userName, password);
using (var resp = (FtpWebResponse)request.GetResponse())
{
WebClient client = new WebClient();
client.Credentials = new NetworkCredential(userName, password);
client.UploadFile(ftpServer + "/" + id + "/" +
new FileInfo(path).Name, "STOR", path);
}
В чем проблема? Что не работает? – SLaks
'Path.GetTempPath()' – SLaks
@SLaks Проблема в том, что я хочу только временно сохранить файл, то есть хочу, чтобы он исчез с локального сервера, как только он скопирован на сервер Ftp. – guitarzero