0
파일이 추가되고 오른쪽으로 리디렉션됩니다 (예고없이). xhr을 사용하지 않으면 알림이 표시됩니다.xhr 요청 후 통지를 추가 할 수 없습니다. Rails
는 application.js
var files = evt.target.files || evt.dataTransfer.files;
// files is a FileList of File objects. List some properties.
for (var i = 0, f; f = files[i]; i++) {
var xhr = new XMLHttpRequest();
xhr.open("POST", 'report_drag', false);
xhr.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
xhr.setRequestHeader("X_FILENAME", "file." + f.name.split('.').pop());
xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'));
xhr.send(f);
}
controller.rb 브라우저에서 간단한 요청을 할 때 (A link
또는 button
, 또는 단순히 쓰기를 사용하여
def report_drag
filename = "report/#{DateTime.now.year}-#{DateTime.now.month}/" + "#{Vendor.where(id: current_user.id).first.title}" + "#{File.extname("#{request.headers['HTTP_X_FILENAME']}")}"
File.open(File.join(filename), "wb") { |f| f.write(request.body.read) }
redirect_to report_url, notice: "Файл успешно добавлен."
end