Tôi sử dụng tập lệnh này để tải tệp lên (từng cái một) với ứng dụng HTML5 FormData trong ứng dụng Rails 3.2.8.HTML5 FormData tải lên tệp với RubyOnRails
$('.uploader input:file').on('change', function() {
$this = $(this);
$('.alert').remove();
$.each($this[0].files, function(key, file) {
$('.files').append('<li>' + file.name + '</li>');
data = new FormData();
data.append(file.name, file);
$.ajax({
url: $('.uploader').attr('action'),
contentType: 'multipart/form-data',
type: 'POST',
dataType: 'json',
data: data,
processData: false
});
});
});
Nhưng khi tôi tải lên một tập tin, tôi nhận được lỗi này trong giao diện điều khiển:
webrick/server.rb:191:in `block in start_thread' ERROR ArgumentError: invalid %-encoding ("filename.jpeg" Content-Type: image/jpeg
Làm thế nào tôi có thể giải quyết lỗi này?
Khi tôi không sử dụng processData, tôi nhận được Invocation bất hợp pháp. Nhưng với processData: sai, tôi nhận được một lỗi máy chủ nội bộ trong đường ray. – DGM