如何在rails中一键获取多个文件?
How to get multiple files in one key in rails?
我想在RailsAPI.
中一键解析多个文件
这是 rails 控制器代码。
def fun
render json: params[:file]
end
这是 javascript-jQuery 代码。
var form = new FormData();
form.append("file", fileInput.files[0], "75341083_406717103617108_7315677611286331392_n.jpg");
form.append("file", fileInput.files[0], "75380217_961903127500586_7366878762530504704_n.jpg");
var settings = {
"url": "http://127.0.0.1:3000",
"method": "POST",
"timeout": 0,
"headers": {
"Content-Type": "application/x-www-form-urlencoded"
},
"processData": false,
"mimeType": "multipart/form-data",
"contentType": false,
"data": form
};
$.ajax(settings).done(function (response) {
console.log(response);
});
这是回应
{
"tempfile": "#<File:0x00007fe4c4a289f0>",
"original_filename": "75380217_961903127500586_7366878762530504704_n.jpg",
"content_type": "image/jpeg",
"headers": "Content-Disposition: form-data; name=\"file\"; filename=\"75380217_961903127500586_7366878762530504704_n.jpg\"\r\nContent-Type: image/jpeg\r\n"
}
我能做什么?
为参数指定唯一的名称,这样它们就不会在参数散列中相互覆盖:
form.append("file", fileInput.files[0], "75341083_406717103617108_7315677611286331392_n.jpg");
form.append("other_file", fileInput.files[1], "75380217_961903127500586_7366878762530504704_n.jpg");
或者在参数中创建一个数组:
form.append("files[]", fileInput.files[0], "75341083_406717103617108_7315677611286331392_n.jpg");
form.append("files[]", fileInput.files[1], "75380217_961903127500586_7366878762530504704_n.jpg");
或散列:
form.append("files[first]", fileInput.files[0], "75341083_406717103617108_7315677611286331392_n.jpg");
form.append("files[second]", fileInput.files[1], "75380217_961903127500586_7366878762530504704_n.jpg");
我想在RailsAPI.
中一键解析多个文件
这是 rails 控制器代码。
def fun
render json: params[:file]
end
这是 javascript-jQuery 代码。
var form = new FormData();
form.append("file", fileInput.files[0], "75341083_406717103617108_7315677611286331392_n.jpg");
form.append("file", fileInput.files[0], "75380217_961903127500586_7366878762530504704_n.jpg");
var settings = {
"url": "http://127.0.0.1:3000",
"method": "POST",
"timeout": 0,
"headers": {
"Content-Type": "application/x-www-form-urlencoded"
},
"processData": false,
"mimeType": "multipart/form-data",
"contentType": false,
"data": form
};
$.ajax(settings).done(function (response) {
console.log(response);
});
这是回应
{
"tempfile": "#<File:0x00007fe4c4a289f0>",
"original_filename": "75380217_961903127500586_7366878762530504704_n.jpg",
"content_type": "image/jpeg",
"headers": "Content-Disposition: form-data; name=\"file\"; filename=\"75380217_961903127500586_7366878762530504704_n.jpg\"\r\nContent-Type: image/jpeg\r\n"
}
我能做什么?
为参数指定唯一的名称,这样它们就不会在参数散列中相互覆盖:
form.append("file", fileInput.files[0], "75341083_406717103617108_7315677611286331392_n.jpg");
form.append("other_file", fileInput.files[1], "75380217_961903127500586_7366878762530504704_n.jpg");
或者在参数中创建一个数组:
form.append("files[]", fileInput.files[0], "75341083_406717103617108_7315677611286331392_n.jpg");
form.append("files[]", fileInput.files[1], "75380217_961903127500586_7366878762530504704_n.jpg");
或散列:
form.append("files[first]", fileInput.files[0], "75341083_406717103617108_7315677611286331392_n.jpg");
form.append("files[second]", fileInput.files[1], "75380217_961903127500586_7366878762530504704_n.jpg");