Heroku applications run in a read-only filesystem -- you can't upload
files directly. Instead, you should be uploading them to an external
service like S3. Here's the relevant Dev Center article on the
limitation: http://devcenter.heroku.com/articles/read-only-filesystem

On May 4, 1:53 pm, ken bob <newke...@gmail.com> wrote:
> Hi,
> After hosting my sample app for file upload on heroku using the FREE
> account, it does not work properly. However, everything works fine on
> my local machine.  Please help
>
> FOR FILE UPLOAD::
> // controller.rb
> def uploadFile
>    if  params[:upload] == nil
>          redirect_to(:action => :home, :notice => "File field must not
> be empty")
>     else
>             name =  params[:upload].original_filename
>                  directory = "keePass/public/data"
>                       path = File.join(directory, name)
>                 File.open(path, "wb") { |f|
> f.write(params[:upload].read) }
>             redirect_to(:action => :arrive, :notice => "File has been
> uploaded successfully")
>     end
>
> end
>
> // view.html.erb
> <h1>File Upload</h1>
>
> <% form_tag ({:action =>'uploadFile'}, :multipart=>true) do %>
> <p><label for="upload_file">Select File</label> :
> <input type="file" name="upload" /><br/>
> <%= submit_tag "Upload" %>
> <% end %>
>
> TWO::: FOR DELETING OF UPLOADED FILE(S)
> //controller.rb
> def cleanup
>   file = params[:file]
>        @numFiles = 0
>            dir = Dir.entries('keePass/public/data/')
>                 dirN = Array.new
>                        dir.each{|x|
>                                 if File.exist?(x) == false
>                                        dirN << x
>                                 end
>                                }
>                         if dirN ==[]
>                              redirect_to(:action =>:arrive, :notice =>
> 'There are no files in this folder!')
>                         else
>                                 dirN.each{|c|
>                                      File.delete(File.join('keePass/
> public/data/',c))
>                                              @numFiles +=1
>                                           }
>                              redirect_to(:action =>:arrive, :notice =>
> " #{@numFiles} File(s) deleted!")
>                         end
> end
>
> // view.html.erb
> <%=link_to 'Delete All Files', :action => :cleanup%>

-- 
You received this message because you are subscribed to the Google Groups 
"Heroku" group.
To post to this group, send email to heroku@googlegroups.com.
To unsubscribe from this group, send email to 
heroku+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/heroku?hl=en.

Reply via email to