Agarwal1984 Ответов: 1

Как получить выбранные файлы с http-сервера с помощью C# .NET?


Привет,

How to Get Files from Http Server using c# .net?


Я хочу, чтобы получить некоторые файлы с веб-сервера на C# .нет.

предположим, что мой URL-адрес https-сервера: "https://abc.com/images/Upload/"

Теперь он получает ошибку.
Ошибка:
The remote server returned an error: (404) Not Found.

Пожалуйста, помогите мне.

заранее спасибо.

Анкит Агарвал
инженер-программист

Что я уже пробовал:

public void ExportImages(List<FileDetails> fd)
        {

            foreach (var f in fd)
            {
                HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create("https://abc.com/images/Upload/" + f.XMarksSheetName + "," + f.XCertificateName + "," + f.XIIMarksSheetName + "," + "," + f.XIICertificateName + "," + f.GMarksSheetName + "," + f.GCertificateName + "," + f.FileName + "," + f.FileNameNationalId + "," + f.FileNamePassport);
                httpRequest.Method = WebRequestMethods.Http.Get;
                HttpWebResponse httpResponse = (HttpWebResponse)httpRequest.GetResponse();
                //Stream httpResponseStream = httpResponse.GetResponseStream();  //Error: The remote server returned an error: (404) Not Found.
                StreamReader sr = new StreamReader(httpResponse.GetResponseStream());
                var results = sr.ReadToEnd();
                sr.Close();
            }
                

        }

OriginalGriff

И что же?
Что он делает такого, чего вы не ожидали, или не делает того, что вы сделали?
Что вы пытались сделать, чтобы выяснить, почему?
Есть ли какие-либо сообщения об ошибках, и если да, то где и когда? Что вы сделали, чтобы это произошло?
Где ты застрял?
Какая помощь вам нужна?

Это не очень хороший вопрос - мы не можем понять из этого малого, что вы пытаетесь сделать.
Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли - мы получаем только то, что вы печатаете для работы.
Используйте виджет "улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.

Agarwal1984

f.XMarksSheetName и т. д. являются ли мои имена файлов и файл уже хранятся в "https://abc.com/images/Upload/".
Я хочу попробовать получить файлы в соответствии с моими именами файлов.
Мой простой вопрос: "Как получить выбранные файлы из пути https-сервера"?

Richard MacCutchan

Ошибка 404 говорит вам, что Ваш URL-адрес недействителен. Поэтому начните с печати сгенерированного URL-адреса, чтобы вы действительно могли увидеть, что с ним не так.

Agarwal1984

Предположим, что мой url-адрес: https://abc.com/images/Upload
и файлов: XMarksheet.формат PDF,XCertificate.PDF и т. д. в моей папке по протоколу HTTPS.
мой простой вопрос: я хочу получить файлы из path, чтобы мы могли использовать файлы дальше.

Richard MacCutchan

Не стоит говорить "Предположим ...", вам нужно точно видеть, что делает ваш код, чтобы выяснить, почему он не работает. В качестве простого теста вы можете опубликовать этот URL-адрес и имя файла в своем браузере, чтобы увидеть, есть ли abc.com принимает его.

Agarwal1984

Я хочу задать вам один вопрос:-
является ли это правильным способом для поиска имени файла в пути:-
https://abc.com/images/Upload/" + f.XMarksSheetName + "," + f.XCertificateName + "," + f.XIIMarksSheetName + ", " + f.XIICertificateName + "," + f.GMarksSheetName + "," + f.GCertificateName + "," + f.FileName + "," + f.FileNameNationalId + "," + f.FileNamePassport.

или вы можете подсказать мне правильный путь и то, что я использую, получить список файлов из этого пути.

Richard MacCutchan

Я понятия не имею. Спросите людей, которые владеют сайтом.

Agarwal1984

если мы используем локальный каталог, то мы можем легко выбрать файлы с помощью:-

var directory = new DirectoryInfo(путь к файлу);
var myFile = (из f в каталоге.Заражен()
выберите f).Первый();

но моя проблема с https we server.

Информация о каталоге не работает с веб-сервером https.

1 Ответов

Рейтинг:
2

OriginalGriff

Первое, что я замечаю, это то, что даже если бы это сработало, он не вернул бы "результаты" - он вернул бы один результат, последний прочитанный файл, потому что внутри вашего цикла вы "выбрасываете" предыдущие результаты, когда вызываете ReadToEnd для получения следующего.

Но это не имеет значения, потому что results сам по себе выходит из области видимости в конце цикла и все равно не может быть возвращен ... В результате ваш код даже не будет компилироваться!

Кроме того, метод объявлен как возвращающий пустоту - без значения - поэтому он все равно ничего не может вернуть во внешний мир.


Agarwal1984

Пожалуйста, дайте мне решение, как мы можем получить файлы с пути https-сервера?

OriginalGriff

На вашем месте я бы начал с кода, который компилируется ...
В конце концов, вы "разработчик программного обеспечения (старший)", и даже младший будет знать, что бросать дерьмо вместе и надеяться, что оно компилируется, не сработает!