【问题标题】:Input/Pass an Image into an input type="filename" directly from Javascript直接从 Javascript 将图像输入/传递到输入类型 =“文件名”
【发布时间】:2014-12-12 04:57:05
【问题描述】:

我正在尝试将文件直接传递给 input type="filename" 控件元素,因此我不必手动单击 [browse] 并搜索文件。我不想绕过任何类型的安全或类似的东西,我只是想“模仿”点击浏览放置并选择图像,而实际上不必在“浏览文件”对话框中搜索文件。

我想直接通过 javascript 执行此操作。

现在你们中的一些人可能想知道“你为什么要这么做?”好吧,我的雇主有一个网站,他必须将每日报告的图片上传到该网站,并且他们使用标准

<input type="hidden" name="fileInput">

他希望我尝试制作一个程序,只为他做这件事,并为他自动上传文件,他所要做的就是在最后点击提交。

这可能吗?

编辑#

我在想我需要将原始数据中的图像传递给它:image/jpeg;base64 然后以某种方式将它传递给控件?

编辑#2

做类似的事情怎么样

javascript:(function() { document.forms[0].file.value+='" + theFile + "';})()

编辑#3

根据我的研究,我想唯一可能的事情是尝试使用 MultiPart 实体进行直接的 HTTP Post。我想这是做这件事的唯一方法,而且不可能直接从 Javascript 本身做任何事情。

认为既然被认为是一个 HTML 对象,javascript 就可以触摸它。有点奇怪,你不能。

【问题讨论】:

  • 网络浏览器不允许你这样做,相反你可以选择像Task Schedular & outlook这样的独立应用程序来完成这个任务。
  • 我对你的意思感到困惑。网页本身和 javascript 以及所有内容都已经在执行实际上传图像等所需的操作。我想要做的就是将数据直接传递给输入,这样当它下一次“调用”时自己的javascript上传文件然后它会被触发。
  • 您不能设置文件输入值,这是安全预防措施。你为什么不直接安排一个任务,这样老板甚至不需要点击按钮。这通常是自动化的工作原理。
  • @eqiz,告诉我这些图片是动态的吗?
  • 也许可以看看允许拖放上传图像的东西(根据我的经验,这大大减少了选择和上传文件所需的时间)。 dropzonejs.com您可能需要更新您的上传代码以允许多个文件上传

标签: javascript html upload


【解决方案1】:

这类似于我最近回答的another question。基本上,这是不可能的。即使您没有试图绕过安全性,它也可以用来绕过安全性。每当网页想要访问您的文件时,都必须提醒用户。

【讨论】:

  • 从技术上讲,您正试图在他们不知道的情况下从本地来源保存数据。我可以理解您的意思,为什么这可能是不可能的,因为它可能被视为“安全”问题,但是如果我只想从另一个不会调用任何类型的本地文件请求的网站上传现有文件。
猜你喜欢
  • 1970-01-01
  • 2020-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多