MS Office больше не работает как BLOB

Привет, кто-нибудь знает, почему MS Office, такие как doc, docx и xls, больше нельзя просматривать при извлечении из базы данных mysql при сохранении в виде BLOB-объектов? Раньше doc и docx загружались и открывались без проблем, но теперь он больше не распознает формат файла.


person Ddywalgi    schedule 05.02.2010    source источник


Ответы (3)


Я хотел бы повторить вашу проблему. Загрузка/выгрузка изображений и текстовых файлов из поля BLOB-объектов mysql. Файлы doc и docx оказались поврежденными. Я где-то читал слухи о том, что mysql усекает последние 4 бита, но я не могу это проверить.

person Mike    schedule 27.02.2011
comment
Слух? Я не могу это проверить. 1 или 0 или, может быть, -1 при использовании доступа. Усечение может быть причиной, но усечение приведет к множественным ошибкам во всех форматах файлов. - person Ddywalgi; 13.03.2011

Я использовал xvi32 (шестнадцатеричный редактор) для сравнения локальных оригиналов файлов с версиями, загруженными из полей BLOB/LONGBLOB. Кажется, что дополнительные байты, которые, как мне кажется, представляют собой CRLF, добавляются, насколько я могу обработать Windows, когда файл записывается. Это не кажется проблемой для некоторых графических форматов, которые в некоторой степени отказоустойчивы, но файлы офисного формата XML повреждаются этими дополнительными данными.

Я пытался использовать ob_clean() и ob_flush() [то есть в php] перед печатью/отображением содержимого файла, но все еще поврежден в отношении Office.

Я знаю, что это старая тема, но я был бы признателен за любые решения, которые кто-либо мог найти с момента последнего обновления.

person gareth    schedule 08.12.2011

Пробовали ли вы использовать короткий текстовый файл вместо .doc и посмотреть, отличается ли содержимое от ожидаемого?

person Esben Skov Pedersen    schedule 05.02.2010
comment
.doc и .docx работали изначально. PDF работает, но Office ничего не загружает правильно в двоичном формате при извлечении из базы данных, будь то изменение в mysql, php или MS, у меня нет пути для следования. Спасибо за ваше время, ЭсбенП. - person Ddywalgi; 06.02.2010