Javascript 预填充文件输入

Javascript 预填充文件输入,javascript,php,html,file-upload,Javascript,Php,Html,File Upload,我在一个工作板网站上工作,该网站向第三方网站提交用户申请。用户在申请时必须提供以下信息:姓名、联系方式和简历。由于这些字段在站点的用户配置文件中也可用,因此我们希望预先填充表单字段,允许用户根据自己的喜好更改信息 现在,所有其他字段都可以无问题地填充。但是,由于安全冲突,无法填充文件输入字段。使用文件API和BLOB对象是否有可能解决问题 我计划做以下几点: 从服务器上的文件URL创建blob对象 使用FileReader将blob作为数组缓冲区读取 将此文件附加到文件输入字段 将此文件附加到文

我在一个工作板网站上工作,该网站向第三方网站提交用户申请。用户在申请时必须提供以下信息:姓名、联系方式和简历。由于这些字段在站点的用户配置文件中也可用,因此我们希望预先填充表单字段,允许用户根据自己的喜好更改信息

现在,所有其他字段都可以无问题地填充。但是,由于安全冲突,无法填充文件输入字段。使用
文件API
BLOB
对象是否有可能解决问题

我计划做以下几点:

  • 从服务器上的文件URL创建blob对象
  • 使用FileReader将blob作为数组缓冲区读取
  • 将此文件附加到文件输入字段
  • 将此文件附加到文件输入字段创建一个答案,只是为了进一步了解我是如何解决此问题的,以及为什么会出现此问题

    Background:我为客户端创建了一个自定义WordPress插件,它从各个站点获取求职申请,并以内联方式显示它们。我们还允许提交申请,用户可以在申请中附上他们的简历,并将简历提交到最初的招聘公告中。因为很多用户都是通过手机访问网站的,所以他们在手机上没有简历。在这种情况下,我们希望为他们提供一个便利,让他们使用储存在他们个人资料中的简历

    潜在解决方案:最简单的方法是通过ajax从用户配置文件中获取文件内容,并在提交之前将其附加到表单。然而,无论出于什么原因,这都不起作用


    应用解决方案:有效的解决方案非常老套。我们没有直接提交应用程序,而是将其提交到一个中间页面,该页面从用户配置文件中获取文件内容,修改表单数据并通过curl提交。这也节省了用户端的双重数据交换(文件下载和重新上传)。

    感谢您的快速回复。我必须提交表单的第三方页面似乎不支持Ajax提交(不确定原因)。不过,一个普通的html表单帖子也可以。我也在考虑将表单提交到本地php,然后将内容发布到第三方页面。您也可以在
    元素处将文件设置为
    数据URL
    值。您能详细说明一下吗?如果第三方表单需要一个文件,那么这可以补充文件字段吗?服务器需要在
    元素处需要一个
    数据URI
    ,而不是在
    元素处需要一个
    文件
    对象。在这种情况下,我只需在服务器上发送文件URL即可。对于这个问题,由于文件输入字段的只读性质,上述方法无法工作,因此我使用了以下解决方案:1。Ajax将数据提交给本地PHP处理程序2。检查附件,如果缺少附件,则填写默认文件3。通过CURL POST将表格提交给第三方4。返回对原始Ajax调用的响应。
    var data = new FormData();
    data.append("file", /* Blob | File */, "filename.ext")