I'm confused. You're creating a tempfile and then keeping a reference to it in your database?
On Thu, Nov 11, 2010 at 3:06 PM, Christian Fazzini <[email protected]> wrote: > Ok that makes sense. Thanks Brian. > > On the same topic... > > How would I create a temp file with .png extension in the end. > > tmp = Tempfile.new([ 'thumb', 'png' ].compact.join(".")) You can't use Tempfile to do this. Well, you _can_ but you'll need to close the file--without unlinking it!--and then move the file created to the new location you want. At that points, you're better off just giving thumbnails a sequential identifier, or use their hash. Destroy the thumbnail file once you no longer need it. > Whenever it creates a temp file, it creates it as such: > thumb.png20101111-989-1pt72my, instead of > thumb20101111-989-1pt72my.png > > If I try to save this via Active Record, with > > @video.attachment_thumbnail = > File.open("#{File.expand_path(tmp.path)}"), > > It will save the file in the file system without the extension, which > makes it impossible to read on the browser, unless I explicitly set > the extension. > > On Nov 12, 3:54 am, Brian Troutwine <[email protected]> wrote: >> Hi Christian, >> >> Not by the end of the day, no. Each tempfile will be unlinked as soon >> as you close it. Your example code didn't have the line >> >> > dst.close(unlink_now=true) >> >> in it. You may also use dst.close!() to the same effect. >> >> -- >> Brian >> >> On Thu, Nov 11, 2010 at 2:49 PM, Christian Fazzini >> >> <[email protected]> wrote: >> > Hi Brian, >> >> > Just to keep things clear. By the end of the day, /var/folders/uL/ >> > uL0bYOOZEZaJH5E+BmDJVE+++TI/-Tmp-/ <-- temp dir _IS_ supposed to be >> > empty. Is this correct? >> >> > On Nov 12, 3:35 am, Brian Troutwine <[email protected]> wrote: >> >> When you close the Tempfile, be sure to pass true for unlink_now. >> >> >>http://ruby-doc.org/stdlib/libdoc/tempfile/rdoc/classes/Tempfile.html... >> >> >> On Thu, Nov 11, 2010 at 2:33 PM, Christian Fazzini >> >> >> <[email protected]> wrote: >> >> > In video controller, create action. I am using FFMPEG to generate a >> >> > thumbnail of videos that are uploaded. >> >> >> > The tempfile is created as such: >> >> >> > def create >> >> > ...... >> >> > dst = Tempfile.new(basename) >> >> > dst.binmode >> >> >> > system("ffmpeg -itsoffset -4 -i #{file.path} -y -vcodec mjpeg - >> >> > vframes 1 -an -f rawvideo #{File.expand_path(dst.path)}.png") >> >> > .... >> >> > end >> >> >> > As you can see from above, ffmpeg outputs a file to the var dst which >> >> > is an instance of Tempfile. In console, when I do: >> >> >> > ls /var/folders/uL/uL0bYOOZEZaJH5E+BmDJVE+++TI/-Tmp-/ >> >> >> > thumb20101111-989-1gflwhr.png >> >> > thumb20101111-989-1pt72my.png >> >> > thumb20101111-989-kjcsgd.png >> >> > thumb20101111-989-3ocf15.png >> >> > thumb20101111-989-10azwnn.png >> >> > thumb20101111-989-7x11w7.png >> >> >> > I see a bunch of files in the directory. It seems that rails did not >> >> > automatically delete these temp files. Should I manually delete these >> >> > files? >> >> >> > I am worried that, if my temp dir fills up with temp files, it'll >> >> > eventually take up most of the server space... >> >> >> > Your thoughts on this matter? >> >> >> > -- >> >> > You received this message because you are subscribed to the Google >> >> > Groups "Ruby on Rails: Talk" group. >> >> > To post to this group, send email to [email protected]. >> >> > To unsubscribe from this group, send email to >> >> > [email protected]. >> >> > For more options, visit this group >> >> > athttp://groups.google.com/group/rubyonrails-talk?hl=en. >> >> > -- >> > You received this message because you are subscribed to the Google Groups >> > "Ruby on Rails: Talk" group. >> > To post to this group, send email to [email protected]. >> > To unsubscribe from this group, send email to >> > [email protected]. >> > For more options, visit this group >> > athttp://groups.google.com/group/rubyonrails-talk?hl=en. >> >> > > -- > You received this message because you are subscribed to the Google Groups > "Ruby on Rails: Talk" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/rubyonrails-talk?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

