Привет, кто-нибудь знает, почему MS Office, такие как doc, docx и xls, больше нельзя просматривать при извлечении из базы данных mysql при сохранении в виде BLOB-объектов? Раньше doc и docx загружались и открывались без проблем, но теперь он больше не распознает формат файла.
MS Office больше не работает как BLOB
Ответы (3)
Я хотел бы повторить вашу проблему. Загрузка/выгрузка изображений и текстовых файлов из поля BLOB-объектов mysql. Файлы doc и docx оказались поврежденными. Я где-то читал слухи о том, что mysql усекает последние 4 бита, но я не могу это проверить.
Я использовал xvi32 (шестнадцатеричный редактор) для сравнения локальных оригиналов файлов с версиями, загруженными из полей BLOB/LONGBLOB. Кажется, что дополнительные байты, которые, как мне кажется, представляют собой CRLF, добавляются, насколько я могу обработать Windows, когда файл записывается. Это не кажется проблемой для некоторых графических форматов, которые в некоторой степени отказоустойчивы, но файлы офисного формата XML повреждаются этими дополнительными данными.
Я пытался использовать ob_clean() и ob_flush() [то есть в php] перед печатью/отображением содержимого файла, но все еще поврежден в отношении Office.
Я знаю, что это старая тема, но я был бы признателен за любые решения, которые кто-либо мог найти с момента последнего обновления.
Пробовали ли вы использовать короткий текстовый файл вместо .doc и посмотреть, отличается ли содержимое от ожидаемого?