Получение ошибки как недопустимого виртуального пути при загрузке файла в C # asp.net

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

Не удалось загрузить конкретный документ.

Также при отладке я получаю ошибку как.

'https: /NVMBD1BKH150V02.IN.RIL.COM/MWSiteSurveyDoc/I-KA-ANKL-ENB-0012_C2/180.jpg' не является допустимым виртуальным путем.

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

Вот мой код ниже

protected void lnkDownload_Click(object sender, EventArgs e)
{
    try
    {
        string FulfilePath = (sender as LinkButton).CommandArgument;
        string[] filePath = FulfilePath.Split('\\');               
        string path = @"" + ConfigurationManager.AppSettings["NASSServerPath_MW_Feasibility_Download"].ToString() + "/" + filePath[7] + "/" + filePath[8];
        // Response.ContentType = ContentType;                               

        Response.ContentType = ContentType;
        Response.AppendHeader("Content-Disposition", "attachment; filename=" + Path.GetFileName(path));
        Response.TransmitFile(path);
        Response.End();

    }
    catch (Exception ex)
    {
        // objCom.ErrorLog(ex.GetType().ToString(), ex.Message, "Download Files", Session["UserName"].ToString());
    }

}

1 ответ

HttpResponse.Transmit принимает физический путь сервера к файлу в качестве параметра. Кажется, вы вместо этого пытаетесь передать удаленный URI, и есть также опечатка: в префиксе http:// отсутствует косая черта.

Вам нужно либо указать локальный путь к методу TransmitFile, либо перенаправить запрос на URI

Другие вопросы по тегам