【问题标题】:Auto Upload a file [duplicate]自动上传文件[重复]
【发布时间】:2013-12-01 11:39:38
【问题描述】:

我在 C:/Demo/HM.bmp 位置有一个位图文件 我想使用单个按钮或不使用 input type="file" 上传此文件。 换句话说,只要我单击一个按钮,我就希望使用上面给出的文件位置上传文件,而不是从窗口中手动选择文件(在输入类型 =“文件”的情况下会发生这种情况)。 请帮忙。

用 Javascript 提出解决方案。

【问题讨论】:

  • 在 SO 提问之前,请先做一些研究。当你问的时候,展示研究和示例编码。
  • 无论如何,如果不签署脚本/小程序就无法在浏览器中完成,但可以使用 WSH 和文件系统在例如 HTA 中完成

标签: javascript html file upload


【解决方案1】:

这不能在 JavaScript 中完成(谢天谢地)。

如果网站可以检查并自动从用户的本地文件系统上传文件,这将代表网络浏览器中存在严重的安全漏洞......

【讨论】:

    【解决方案2】:

    您无法通过网页执行此操作。

    这是一个rewritten WSH,它可能会让您朝着正确的方向前进。 测试过

    您的服务器可能必须允许 PUT 才能工作,并且页面必须以扩展名 .HTA 保存并从硬盘打开,因此它不能在网页上工作

    <script>
    function upload() {
      var srcFolder = "C:\\Demo\\"; // note the escaped backslashes
      var strUserID = "MyID";
      var strPassword = "APasswordGoesHere";
      var strURL = "https://www.theuploadwebsite.com/puthere/";
    
      var HTTP = WScript.CreateObject("Microsoft.XMLHTTP");
      var fso = CreateObject("Scripting.FileSystemObject");
      var folder = fso.getfolder(srcFolder);
      for (file in folder.Files) { // or remove the loop if only one file
        if (fso.GetExtensionName(File)=="BMP"){
          var objStream = CreateObject("ADODB.Stream");
          objStream.Type = 1;
          objStream.Open(); 
          objStream.LoadFromFile(srcFolder & fso.GetFileName(File));
          HTTP.open("PUT", strURL & fso.GetFileName(File), False, strUserID, strPassword) 
          WScript.Echo("Now uploading file " & fso.GetFileName(File));
          HTTP.send(objStream.Read);
          WScript.Echo("Uploading complete for file " & fso.GetFileName(File));
          // fso.DeleteFile(File)
        }
      }
      WScript.Echo("All files uploaded.");
      HTTP = null;
    }
    </script>
    <button onclick="upload()">Upload</button>
    

    【讨论】:

    • 问题被标记为html 而不是wsh
    • 问题标记为 JavaScript,HTA 可以包含 HTML。如果任何其他答案是否定的,也许 OP 没有考虑 HTA
    猜你喜欢
    • 2012-07-12
    • 2020-06-21
    • 1970-01-01
    • 2011-08-12
    • 1970-01-01
    • 1970-01-01
    • 2011-12-09
    • 2011-06-09
    相关资源
    最近更新 更多