将上传的文件从一个“;文件“;将输入键入另一个
Reassign the uploaded file from one "file" type input to another
我有一个迷你帖子的表单,设计希望在表单中有一个图像文件上传器,并在用户选择图像文件后显示所选图像来替换表单上传器。
现在,我打算有另一种形式,"图片上传",在主形式之外(对于迷你帖子)。当用户选择文件时,将提交图像上传表单,并通过AJAX将文件保存到服务器。图像上传表单中的字段将被隐藏。
当然,由于定位的原因,我需要将图像文件选择器HTML放置在迷你帖子表单的HTML中。然后,如何将通过主表单中的文件选择器选择的"文件"(而不仅仅是文件名)重新分配给图像上传表单中的隐藏"文件"类型输入
我不确定这是否可能。如果不可能,有什么建议可以实施这个设计?
使用@fauxerious提供的方法:用JQuery ajax(for Rails)发送此对象:
$.ajax({
type: 'post',
url: //action to handle this ajax,
data: formdata, // formdata is obtained from handleForm()
// it has a property "file".
contentType: false,
processData: false,
dataType: 'json', // get back json
success: function(output) {
alert(output);
}
});
在Rails操作中,只需通过params[:file]
访问该文件,然后使用CarrierWave进行处理
您可能会使用FormData
。
function handleForm(){
var formdata = new FormData();
var file = $('input[type="file"]').prop('files')[0];
if (file.type == 'image/jpeg') {
formdata.append('file', file);
return formdata;
};
};
这将返回一个对象,您可以将其像数据一样从多部分表单传递到AJAX请求中。我在这里添加了一个条件来检查jpeg,但您可能需要使用自己的逻辑。
相关文章:
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- 要求定义另一个文件中的对象
- 如何将变量传递到另一个js文件
- 如何从onclick函数设置全局变量并将其传递给另一个JS文件
- 如何在另一个html文件的框架中包含图像
- 正在下载文件,同时加载另一个页面
- 从AngularJS中的另一个文件中的控制器访问服务
- 文件的节点自动化移动到另一个文件夹中
- 用于文件移动到另一个文件夹的Javascript自动化
- NodeJS-从同一文件中的另一个方法调用一个方法
- jQuery Mobile样式从另一个文件加载内容
- 如何使用javascript/jquery将变量从一个PHP文件传递到另一个PHP文件
- 为什么当我上传文件并点击更多上传另一个文件的第一个删除
- 将另一个文件中的对象添加到单独文件中的阵列中
- 从另一个文件访问函数的返回值
- 在另一个可浏览的应用程序中包含已绑定的文件
- 在jquery的另一个文件上浏览jquery插件
- 从HTML中的另一个文件访问javascript方法