Тема: Выгрузка файлов с универсала в битрикс24
Задача загрузить файл с локального диска с помощью универсала в битрикс24. Файл загружается, но после скачивания файл не открывается. Если загружать маленький текстовый файл, то он открывается. Если добавляем один символ в файл и загружаем в битрикс24, то не открывается. Когда добавить еще символ в текстовый файл, то открывается. После еще 1 символа - нет. Файлы jpg, doc, xls после скачивания не открываются. Возможно проблема в кодировке при выгрузке. Пример кода в универсале
Local hFile ,cStrFile ,CFILE_NAME ,nSize , cStrFile64 ,cURL_BITRIX ,cURL ,cVar
// путь к файлу
CFILE_NAME := 'D:\CRM\3017.txt'
hFile := FOPEN(CFILE_NAME)
cStrFile := SPACE(nSize:=FileSize(CFILE_NAME))
FREAD(hFile, @cStrFile, nSize)
cStrFile64 := Bin2Base64(cStrFile)
// cStrFile64 := cStrFile
monitor(len(cStrFile64))
monitor(cStrFile64)
FCLOSE(hFile)
//https://krchsfvkkhkkhfyeuvkf.bitrix24.ua/rest/8/iukk413sa6mhy3vz/crm.company.update.json путь к нашему битрикс24
// cURL_BITRIX :='https://krchsfvkkhkkhfyeuvkf.bitrix24.ua/rest/8/iukk413sa6mhy3vz/crm.company.update.json'
// cVar :='id=2&fields[UF_CRM_1526278909][fileData][0]=3017.jpg&fields[UF_CRM_1526278909][fileData][1]='+cStrFile64
LOCAL srvXmlHttp
LOCAL Host := 'https://krchsfvkkhkkhfyeuvkf.bitrix24.u … pdate.json'
LOCAL HttpResponse, cXml ,cResult
srvXmlHttp := HttpClient():new(Host)
srvXmlHttp:setAcceptType("text/plain")
srvXmlHttp:setAcceptCharset( "UTF-8" )
//$mailer->CharSet = 'utf-8';
// $mailer->Encoding = 'base64';
srvXmlHttp:httpRequest:setParameter( "id", 3 )
srvXmlHttp:httpRequest:setParameter( "fields[UF_CRM_1526278909][fileData][0]", '3017.txt' )
srvXmlHttp:httpRequest:setParameter( "fields[UF_CRM_1526278909][fileData][1]", cStrFile64 )
srvXmlHttp:setMethod( "POST" )
cResult := srvXmlHttp:send()
monitor(cResult)
// Msgbox('cStrFile64')
IF srvXmlHttp:getStatusCode() != 200
msgbox('Error')
ENDIF
IIF( srvXmlHttp:getStatusCode() == 200, msgbox("ok"), msgbox("failed: " + srvXmlHttp:httpResponse:statusText) )
return