# 406 Not Acceptable with swfupload

**URL:** <https://www.ruby-forum.com/t/406-not-acceptable-with-swfupload/194744>\
**Category:** Rails\
**Created:** [September 9, 2010, 8:33pm UTC](https://www.ruby-forum.com/t/406-not-acceptable-with-swfupload/194744 "2010-09-09T20:33:01Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![df-sean](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/f07891/32.png) [@df-sean](https://www.ruby-forum.com/u/df-sean)\
**Post date:** [September 9, 2010, 8:33pm UTC](https://www.ruby-forum.com/t/406-not-acceptable-with-swfupload/194744/1 "2010-09-09T20:33:01Z")

</div>

---------flash\_session\_cookie\_middleware.rb  
require ‘rack/utils’

class FlashSessionCookieMiddleware  
def initialize(app, session\_key = ‘\_session\_id’)  
@app = app  
@session\_key = session\_key  
end

def call(env)  
if env[‘HTTP\_USER\_AGENT’] =~ /^(Adobe|Shockwave) Flash/  
req = Rack::Request.new(env)  
params = ::Rack::Utils.parse\_query(env[‘QUERY\_STRING’])  
env[‘HTTP\_COOKIE’] = [@session\_key, params[@session\_key]  
].join(’=’).freeze unless params[@session\_key].nil?  
end  
@app.call(env)  
end  
end

------ controller  
def create  
@asset = Asset.new(params[:asset])

```
respond_to do |format|
  if params[:Filedata]
    @asset = Asset.new :swf_uploaded_data => params[:Filedata]
    @asset.user = current_user
    @asset.save!

    format.html { render :text => @asset.image.url(:thumb) }
    format.xml { render :nothing => true }

  else
    if @asset.save
      flash[:notice] = 'Created'
      format.html { redirect_to(@asset) }
      format.xml { render :xml => @asset, :status => :created,

```

:location =\> @asset }  
else  
format.html { render :action =\> “new” }  
format.xml { render :xml =\> @asset.errors, :status =\>  
:unprocessable\_entity }  
end  
end  
end  
end

-------- new.html.erb

# New

```
<% form_for(@asset) do |f| %>
  <fieldset>
    <div id="divStatus">0 Files Uploaded</div>
      <div>
        <span id="spanButtonPlaceHolder"></span>
      </div>
  </fieldset>
<% end %>

```

\<%= link\_to 'back', assets\_path %\>

Once the upload completes, the browser throws a 406 error, despite the  
image uploading.

---

<div class="post-metadata">

**Author:** ![df-sean](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/f07891/32.png) [@df-sean](https://www.ruby-forum.com/u/df-sean)\
**Post date:** [September 9, 2010, 11:29pm UTC](https://www.ruby-forum.com/t/406-not-acceptable-with-swfupload/194744/2 "2010-09-09T23:29:21Z")

</div>

I added env[‘HTTP\_ACCEPT’] = ‘_/_’ into my middleware. It seems  
to work correctly now.
