MS Office вече не работи като BLOB

Здравейте, някой знае ли защо MS Office като doc, docx и xls вече не може да се разглежда, когато се извлича от mysql db, когато се съхранява като Blob? Документите doc и docx се изтегляха и отваряха без проблем, но сега вече не разпознават файловия формат.


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


Отговори (3)


Бих искал да повторя проблема ви. Качване/изтегляне на изображения и обикновени текстови файлове от mysql blob поле. Файловете 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

Опитахте ли с кратък txt файл вместо .doc и видите дали съдържанието е различно от очакваното?

person Esben Skov Pedersen    schedule 05.02.2010
comment
.doc и .docx работеха първоначално. PDF работи, но нищо Office не изтегля правилно в двоичен код, когато се извлича от базата данни, независимо дали това е промяна в mysql, php или MS, аз съм без път, който да следвам. Благодаря ви за отделеното време EsbenP. - person Ddywalgi; 06.02.2010