[Rails] Image upload problems

"Luis G. Gómez" lgomez at vfxnetwork.com
Tue Jan 4 22:01:52 GMT 2005


In my case, I just wanted to keep it all together in the db. No 
particular reason for this.

MCollins at seminolecountyfl.gov wrote:
> 
> i'm new at rails and ruby so i haven't really seen this how-to on file 
> uploads; however, on a different subject away from the corrupted files, 
> it appears you're storing the actual images in the database as a blob? 
>  may i ask why?  i'm used to storing the images on the filesystem and 
> putting the path to that image in the database.  tends to save on the 
> database size
> 
> 
> 
> 
> 
> Berndt Jung wrote:
>  > So, like others on this list, I have started a picture store app.  I
>  > have followed the directions in the "how to" section for file uploads,
>  > as well as the previous posters here.  Basically, it seems as though
>  > it should be working, but the images become corrupt.  I can view them,
>  > but they look awful.  I tried resizing and formatting with RMagick
>  > (really cool extention), but it complained about the files I was
>  > sending it.  So now I'm pretty sure that either ruby/rails is
>  > corrupting the files, or mysql.
>  >
>  > Anyone having similar issues?
>  >
>  > Thanks,
>  >
>  > Berndt
>  >
>  > MySql.dump
>  >
>  > CREATE TABLE `photos` (
>  >   `id` int(11) unsigned NOT NULL auto_increment,
>  >   `name` varchar(127) default NULL,
>  >   `size` int(11) default NULL,
>  >   `mime` varchar(127) default NULL,
>  >   `picture` mediumblob NOT NULL,
>  >   PRIMARY KEY  (`id`),
>  >   KEY `name` (`name`)
>  > ) TYPE=MyISAM
>  >
>  > rails code:
>  >
>  > def create
>  >    #render_text @params['photo']['tmp_file'].local_path
>  >    @photo = Photo.new do |p|
>  >      p.name = 
> @params['photo']['tmp_file'].original_filename.gsub(/[^a-zA-Z0-9.]/,
>  > '_')
>  >      p.size = @params['photo']['tmp_file'].size
>  >      p.mime = @params['photo']['tmp_file'].content_type
>  >      p.picture = @params['photo']['tmp_file'].read
>  >   end
>  >    @params.delete("photo" => "tmp_file")
>  >    if @photo.save
>  >       redirect_to :action => "show/" + @photo.id.to_s
>  >    else
>  >       render "photo/edit"
>  >    end
>  >   end
>  >
>  > def show
>  >     #@image = Photo.find(@params['id'])
>  >     #send_data @image.picture, :filename => @image.name, :type =>
>  > @image.mime, :disposition => "inline"
>  >     @image = Photo.find(@params["id"])
>  >                                   @response.headers["Content-type"] = 
> @image.mime
>  >                                   render_text  @image.picture
>  >   end
>  > _______________________________________________
>  > Rails mailing list
>  > Rails at lists.rubyonrails.org
>  > http://lists.rubyonrails.org/mailman/listinfo/rails
> _______________________________________________
> Rails mailing list
> Rails at lists.rubyonrails.org
> http://lists.rubyonrails.org/mailman/listinfo/rails
> 
> 
> 
> --****Florida has a very broad Public Records Law. Virtually all written 
> communications to or from State and Local Officials and employees are 
> public records available to the public and media upon request.  Seminole 
> County policy does not differentiate between personal and business 
> emails.  E-mail sent on the County system will be considered public and 
> will only be withheld from disclosure if deemed confidential pursuant to 
> State Law.****
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Rails mailing list
> Rails at lists.rubyonrails.org
> http://lists.rubyonrails.org/mailman/listinfo/rails


More information about the Rails mailing list