Javascript 向输入动态添加文件
我正在使用这个插件:在表单中查看演示。我想在用户提交表单时用POST方法发送上传的文件 也许我可以创建一个输入[type=file],将其隐藏,并使用输入中的插件动态添加上传的文件?有可能吗 所以,如果我不能做到这一点,我怎么能上传文件到服务器与此插件,只有当用户点击提交按钮?我知道这个插件已经用AJAX实现了,但我只想在用户点击按钮时上传它们 也许我应该创建一个名为example files的变量,当用户单击submit按钮时,自己使用AJAX发送文件和其他输入数据 大概是这样的:Javascript 向输入动态添加文件,javascript,php,jquery,html,jquery-html5uploader,Javascript,Php,Jquery,Html,Jquery Html5uploader,我正在使用这个插件:在表单中查看演示。我想在用户提交表单时用POST方法发送上传的文件 也许我可以创建一个输入[type=file],将其隐藏,并使用输入中的插件动态添加上传的文件?有可能吗 所以,如果我不能做到这一点,我怎么能上传文件到服务器与此插件,只有当用户点击提交按钮?我知道这个插件已经用AJAX实现了,但我只想在用户点击按钮时上传它们 也许我应该创建一个名为example files的变量,当用户单击submit按钮时,自己使用AJAX发送文件和其他输入数据 大概是这样的: jQuer
jQuery( "#dropbox" ).html5Uploader({
onClientLoadStart: function( event, file ) {
files[] = file;
[...]
}
});
[...]
jQuery("#button").on("click", function() {
jQuery.ajax({
data: files
});
[...]
});
由于浏览器的安全性,无法在文件上载程序中选择文件
用户只能在脚本中执行此操作。出于安全原因,您不能执行此操作。想象一下这些可能性吧。我通过JavaScript在一个隐藏字段中输入一个文件。你按提交。我收到你的文件了。任何文件。很可怕,对吧?这个脚本已经将文件上传到服务器上了。。您需要的是一种从服务器获取文件名/id并将其附加到隐藏表单的方法。。当有人提交表格时,你就会知道他上传了哪些文件
您可以通过侦听onSuccess事件来执行此操作。出于安全原因,您不能动态更改file类型的输入字段的值。如果可能的话,恶意用户可以将该值设置为:c:\maliciousfile并损害您的系统 如何使用JavaScript将文件动态添加到表单 1a。我会给你一个额外的奖励——预览图片 如何执行Ajax文件上传 1向窗体动态添加文件 这里要做的是创建一个字段并通过Javascript更改表单值。您可以使用CSS display:none;隐藏输入 据我所知,这只能使用和拖放来完成,而且API是有限的 您可以替换和删除输入中的所有文件,但不能附加或删除单个文件 基本的拖放文件上载如下所示:
jQuery( "#dropbox" ).html5Uploader({
onClientLoadStart: function( event, file ) {
files[] = file;
[...]
}
});
[...]
jQuery("#button").on("click", function() {
jQuery.ajax({
data: files
});
[...]
});
const dropZone=document.getElementById'dropZone';
const fileInput=document.getElementById'file-input';
dropzone.addEventListener'dragover',事件=>{
//我们必须防止违约,让drop事件触发
违约事件;
};
dropzone.addEventListener'drop',事件=>{
违约事件;
//拖放文件位于event.dataTransfer中
让files=event.dataTransfer.files;
fileInput.files=文件;
log`添加了${files.length}个文件';
};
.上传{
边框:1px实心eee;
边界半径:10px;
填充:20px
}
.隐藏{
不透明度:0.5;
}
在此处放置图像
是的,我知道,但它使用名称和姿势参数动态上传文件,而不是当用户点击提交按钮时。我错了吗?我使用的是PHP,所以我必须使用全局$\u POST变量访问文件数据。假设您的postrl是POST.PHP,当图像发布到该url时,您将其名称和文件夹添加到数据库并返回其idor ID。。。现在,在上传表单时,需要使用js函数并监听onSuccess事件。。在这种情况下,您将获得上传图像的id,而不是通过javascript/jquery将该id添加到隐藏的输入字段中。。当表格提交后,您会收到tham images ID,您能在主消息中查看我的更改吗?