Page 1 of 1

Problem with blob field

PostPosted: Mon May 31, 2010 5:37 am
by fantomasdm
Hi, I have a table with this fields:
Code: Select all
CREATE TABLE `files` (
  `idfiles` bigint(20) NOT NULL AUTO_INCREMENT,
  `datacreazione` date DEFAULT NULL,
  `utentecreazione` int(11) DEFAULT NULL,
  `datamodifica` date DEFAULT NULL,
  `utentemodifica` int(11) DEFAULT NULL,
  `file_mimetype` varchar(64) COLLATE latin1_general_ci DEFAULT 'jpeg',
  `file_filename` varchar(64) COLLATE latin1_general_ci DEFAULT NULL,
  `note` mediumtext COLLATE latin1_general_ci,
  `file` longblob,
  PRIMARY KEY (`idfiles`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci


and fields.ini:
Code: Select all
[file]
Type = blob
widget:type = file

[note]
widget:type  = htmlarea

[utentecreazione]
widget:type = select
vocabulary = utenti

[utentemodifica]
widget:type = select
vocabulary = utenti


when I try to download a file, the link name is:
"files_file_2010_05_31_12_46_14"
without any file extension!!

Re: Problem with blob field

PostPosted: Mon May 31, 2010 5:52 am
by fantomasdm
Sorry, I have forgotten some specification:
xataface :1.2.4 on wamp windows Seven Pro.

P.S. I think that the problems is on line 220 of blob.php, $record->getValue($field['filename'], $index) return null, but $field['filename'] is correct
(file_filename in my case)!!
I try to put some debug code, but $record->getValue('file_filename', $index) return null.

Re: Problem with blob field

PostPosted: Tue Jun 01, 2010 1:07 am
by fantomasdm
HI!, I find the problem!!
When load record with blob using { $record =& $queryTool->loadCurrent($columns, true, true); } only bolb fields is loading!!!
then I call loadCurrent two time!! this my code in blob.php at line 192...circa
Code: Select all
         $record =& $queryTool->loadCurrent($columns, true, true);
         $record->loadBlobs = true;
         $contents = $record->getValue($fieldname, $index);
         $found = $cachePath.'-'.time();
         if ( $fh = fopen($found, "w") ){
            fwrite($fh, $contents);
            fclose($fh);
         } else {
            $found = false;
         }
      }
      $record =& $queryTool->loadCurrent($columns, true);


I add {$record =& $queryTool->loadCurrent($columns, true)} after load contents blob, and now all works!