自动上传文件

时间:2013-11-18 10:45:02

标签: javascript html file upload

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

在Javascript中建议一个解决方案。

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

您不能从网页上执行此操作。

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

您的服务器可能必须允许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>