Обрежьте URL и извлеките имя после последней косой черты в c # - PullRequest
0 голосов
/ 05 февраля 2019

Мне нужно Обрезать URL, который я извлекаю из базы данных, и мне нужно показать значение после последней косой черты (/) .

Попытка с использованием функции обрезки.

public ActionResult DownloadFile(Int64 NurseId, Int64 PostedJobId, Int64 DocumentId)
    {
        NurseDAL objNurseDAL = new NurseDAL();

        Result objResult = objNurseDAL.FetchDocumentURLfromDocID(DocumentId);


        string path = "D:/TFSProjects/Dot Net Project/NurseOneStop.WebSite/NurseOneStop.WebSite/";
        byte[] fileBytes = System.IO.File.ReadAllBytes(path + objResult.Results.DocumentUrl);
        var URL = objResult.Results.DocumentUrl; //(/Content/Images/UploadedDocuments/20190205131053233.pdf)

        string fileName = filename.extension;
        return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, fileName);
    }

Ожидаемый вывод должен быть 20190205131053233.pdf из строки URL: /Content/Images/UploadedDocuments/20190205131053233.pdf

Ответы [ 2 ]

0 голосов
/ 05 февраля 2019

Вы можете использовать split для создания массива

string filename = objResult.Results.DocumentUrl.Split('/').Last;

Однако вы можете использовать это только если разделитель равен /.Если это путь, вы можете столкнуться с \ (Windows) или / (POSIX), после чего было бы неплохо использовать System.IO.Path.GetFileName.

0 голосов
/ 05 февраля 2019

Обрезка может использоваться только для обрезки определенных символов из указанной строки.Для этого сценария вы можете использовать Path.GetFileName(fileName).Вам нужно будет сослаться на System.IO, добавив оператор использования

...