C # HttpWebResponse загрузить PDF не работает / работает для документов Word - PullRequest
0 голосов
/ 17 мая 2018

Я пытаюсь опубликовать pdf-файл для остальных API и получаю 500 внутреннюю ошибку сервера.Код работает для слова doc, а также работает в режиме отладки в Visual Studio 2015, но не работает.На данный момент я не уверен, если это проблема кода.Помогите, не осталось много волос.

Я пробовал IE и Chrome без разницы.Я пробовал другие типы файлов документов, это нормально, но PDF.Нужно ли делать что-то другое для PDF, кроме типа контента?

private bool Request_login_mydgsi_ca(out HttpWebResponse response)
{
    response = null;

    try
    {
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://login.mydgsi.ca/WebAPI/Attachment?aboutType=Candidate&referenceID="+Candidate_id.Trim()+"&attachmentTypeID=Resume&Name=Resume&expirationDate=1900/01/01&Note=Candidate%20Resume");

        request.Headers.Set(HttpRequestHeader.CacheControl, "no-cache");

        string client_id = ConfigurationManager.AppSettings["client_id"].ToString();
        string secret_id = ConfigurationManager.AppSettings["secret_id"].ToString();

        ERApplyForJobs ePosition = new ERApplyForJobs(client_id, secret_id, "");
        string tokenAPI = ConfigurationManager.AppSettings["APIToken"].ToString();
        string secruityToken = ePosition.getSecurityToken(tokenAPI);
        request.Headers.Set(HttpRequestHeader.Authorization, "Bearer " + secruityToken );

        request.ContentType = "multipart/form-data; boundary=---224842443399224314204538";
        request.KeepAlive = true;
        request.Method = "POST";
        request.ServicePoint.Expect100Continue = true;
        string contentType = MimeMapping.GetMimeMapping(fileName);
        string body = @"---224842443399224314204538
            Content-Disposition: form-data; name=""""; filename=""" + fileName + @"""
            Content-Type: " + contentType + @"<!>" + fullFileName + @"<!>---224842443399224314204538--";


        WriteMultipartBodyToRequest(request, body);
        response = (HttpWebResponse)request.GetResponse();


    }
    catch (WebException e)
    {
        response = (HttpWebResponse)e.Response;

    }
    catch (Exception)
    {
        if (response != null) response.Close();
            return false;
    }

    return true;
}

1 Ответ

0 голосов
/ 18 мая 2018

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

Я не уверен, почему это работает для документов Word и не для PDF-файлов. По-моему, я думаю, что это должно было сорваться для обоих.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...