Rails 3.2.11 を使用しています。ファイルアップロードの概念を実装しました。Firefox と Chrome ブラウザで正常に動作しています。
形
<iframe id="upload_target" name="upload_target" style="display:none;"></iframe>
<%= form_tag(url_for(:action => 'add_image'),
:target => 'upload_target',
:id => 'add_image_form',
:enctype => 'multipart/form-data', :multipart=>true) do %>
<%= text_field 'image_asset', 'name', :size => [60,40].min, :maxlength => "60", :id => "focus", :style=>"display:none", :value=>"site_logo" %>
<%= text_field 'image_asset', 'image_type', :value=>"Icon",:style=>"display:none"%>
<input type="file" id="file" name="image_form_file" size="36" style="display:none;" />
<a href="#" class="button" onclick="$('#file').click();">Upload a new logo image</a>
<a href="#" class="button green" onclick=" $('#add_image_form').submit();">Save</a>
<% end %>
JQuery
$('#file').live("change",function() {
$('#add_image_form').submit();
setTimeout(function(){
$.ajax({
type: "GET",
beforeSend: function(xhr){ xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'))},
dataType: "html",
url: "/get_image",
data: "record_id=<%= @page.id%>&format=html",
success: function(data){
$('#site_logo').html(data);
var new_image = $('#site_logo').find("img").attr('src');
},
error: function(){
}
});
}, 6000)
IE 9、IE 10 ブラウザーでのみ問題があります。Java スクリプト コンソールが「SCRIPT5: アクセスが拒否されました」をスローします。
フォルダーの場所のアクセス許可を許可してみましたが、役に立ちません。C:\Users[ユーザー名]\AppData\Local\Microsoft\Internet Explorer\DOMStor C:\Users[ユーザー名]\AppData\Local\Packages\windows_ie_ac_001\AC\Microsoft\Internet Explorer\DOMStore
なにか提案を
ありがとう