Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DBIx::Class::InflateCoUser:Contributed PerlDBIx::Class::InflateColumn::File(3)

NAME
       DBIx::Class::InflateColumn::File	-  DEPRECATED (superseded by
       DBIx::Class::InflateColumn::FS)

   Deprecation Notice
	This component has a number of architectural deficiencies that can quickly
	drive your filesystem and database out of sync and is not recommended for
	further	use. It	will be	retained for backwards compatibility, but no new
	functionality patches will be accepted.	Please consider	using the much more
	mature and actively supported DBIx::Class::InflateColumn::FS. You can set
	the environment	variable DBIC_IC_FILE_NOWARN to	a true value to	disable
	this warning.

SYNOPSIS
       In your DBIx::Class table class:

	   use base 'DBIx::Class::Core';

	   __PACKAGE__->load_components(qw/InflateColumn::File/);

	   # define your columns
	   __PACKAGE__->add_columns(
	       "id",
	       {
		   data_type	     =>	"integer",
		   is_auto_increment =>	1,
		   is_nullable	     =>	0,
		   size		     =>	4,
	       },
	       "filename",
	       {
		   data_type	       => "varchar",
		   is_file_column      => 1,
		   file_column_path    =>'/tmp/uploaded_files',
		   # or	for a Catalyst application
		   # file_column_path  => MyApp->path_to('root','static','files'),
		   default_value       => undef,
		   is_nullable	       => 1,
		   size		       => 255,
	       },
	   );

       In your Catalyst::Controller class:

       FileColumn requires a hash that contains	IO::File as handle and the
       file's name as name.

	   my $entry = $c->model('MyAppDB::Articles')->create({
	       subject => 'blah',
	       filename	=> {
		   handle => $c->req->upload('myupload')->fh,
		   filename => $c->req->upload('myupload')->basename
	       },
	       body => '....'
	   });
	   $c->stash->{entry}=$entry;

       And Place the following in your TT template

	   Article Subject: [% entry.subject %]
	   Uploaded File:
	   <a href="/static/files/[% entry.id %]/[% entry.filename.filename %]">File</a>
	   Body: [% entry.body %]

       The file	will be	stored on the filesystem for later retrieval.  Calling
       delete on your resultset	will delete the	file from the filesystem.
       Retrevial of the	record automatically inflates the column back to the
       set hash	with the IO::File handle and filename.

DESCRIPTION
       InflateColumn::File

METHODS
   _file_column_callback ($file,$ret,$target)
       Method made to be overridden for	callback purposes.

FURTHER	QUESTIONS?
       Check the list of additional DBIC resources.

COPYRIGHT AND LICENSE
       This module is free software copyright by the DBIx::Class (DBIC)
       authors.	You can	redistribute it	and/or modify it under the same	terms
       as the DBIx::Class library.

perl v5.32.0			  2020-03-2DBIx::Class::InflateColumn::File(3)

NAME | SYNOPSIS | DESCRIPTION | METHODS | FURTHER QUESTIONS? | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=DBIx::Class::InflateColumn::File&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help