Загрузка файла из субдомена в папку основного домена
Я пробовал нелепые поиски и не знаю, что искать.
Я меньше, чем новичок в программировании (графический дизайнер, который знает слишком много), возможно ли, чтобы веб-сайт поддоменов загружал файлы на родительский веб-сайт.
Текущий код:
if (FileUpload1.HasFile)
{
string webPath = "~/Uploads/Files/";
Я пытался:
if (FileUpload1.HasFile)
{
string webPath = "http://domain.com/Uploads/Files/";
Любая помощь и направление будут оценены, спасибо!
Обновление 01
Я также попробовал:
if (FileUpload1.HasFile)
{
string webPath = "../../httpdocs/Uploads/Files/";
который выдал следующую ошибку: Невозможно использовать ведущий.. для выхода выше верхнего каталога.
Обновление 02
После еще нескольких поисков я заподозрил, что дважды звоню по некоторому пути. Так что я заставил это работать, но я не совсем уверен, насколько это безопасно.
if (FileUpload1.HasFile)
{
string sysPath = "C:/Inetpub/vhosts/domain.com/httpdocs/Uploads/Files/";
Затем для загрузки снова есть отдельный файл Download.aspx, где мне пришлось изменить код следующим образом
response.TransmitFile("C:/Inetpub/vhosts/domain.com/httpdocs/Uploads/Files/" + filename);
3 ответа
Благодаря @MikeH я пришел к решению. Короче говоря для загрузки...
// USE TO SAVE TO SERVER C:
string sysPath = "C:/Uploads/ClientFiles/";
и для скачивания...
// USE TO DOWNLOAD FROM SERVER C:
Response.TransmitFile(@"C:/Uploads/ClientFiles/" + filename);
Не забудьте также установить права доступа к папке. Пожалуйста, посмотрите решение моего секретного вопроса Насколько безопасна строка sysPath = "C:/Inetpub/vhosts/..."
Обычно... чтобы подняться на один уровень, чтобы../ поднялся на один уровень, простой способ найти путь - перетащить что-нибудь из папки в ide в режиме исходного кода, и он создаст ссылку с правильным путем и отключить HTTP, вы не загружаете ресурс, как если бы вы изображение, вы просто говорите использовать этот путь к папке
Я сделал это так:
string ThisDir = "E:/AjkerDealLatest/images/Deals";
System.IO.Directory.CreateDirectory(ThisDir + "\\" + FolderNameHiddenField.Value);
ImageName = Request.Form.GetValues("name");
string path = Path.Combine("E:/AjkerDealLatest/images/Deals/"+ FolderNameHiddenField.Value, ImageName[0] + ".jpg");
file.SaveAs(path);