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