【问题标题】:HTML form upload actual file instead of shortcutHTML表单上传实际文件而不是快捷方式
【发布时间】:2015-10-03 13:44:07
【问题描述】:

我有一个带有 type=file 输入的网络表单,用于文件上传。但是,如果用户在 windows 中选择快捷方式,它会上传快捷方式文件而不是实际文件(快捷方式目标)。

可以检测到用户选择了快捷方式 - 例如。通过文件扩展名“lnk”。但是我如何(通过javascript)自动上传目标文件而不是快捷方式?

【问题讨论】:

标签: javascript html file-upload


【解决方案1】:
<form onsubmit="return Validate(this);">
  File: <input type="file" name="my file" /><br />
  <input type="submit" value="Submit" />
</form>

Javascript 代码:

var _validFileExtensions = [".jpg", ".jpeg", ".bmp", ".gif", ".png"];    
function Validate(oForm) {
    var arrInputs = oForm.getElementsByTagName("input");
    for (var i = 0; i < arrInputs.length; i++) {
        var oInput = arrInputs[i];
        if (oInput.type == "file") {
            var sFileName = oInput.value;
            if (sFileName.length > 0) {
                var blnValid = false;
                for (var j = 0; j < _validFileExtensions.length; j++) {
                    var sCurExtension = _validFileExtensions[j];
                    if (sFileName.substr(sFileName.length - sCurExtension.length, sCurExtension.length).toLowerCase() == sCurExtension.toLowerCase()) {
                        blnValid = true;
                        break;
                    }
                }

                if (!blnValid) {
                    alert("Sorry, " + sFileName + " is invalid, allowed extensions are: " + _validFileExtensions.join(", "));
                    return false;
                }
            }
        }
    }

    return true;
}

【讨论】:

  • 谢谢。此代码检查文件扩展名。不过,这不是问题的答案。我的问题是如何上传快捷方式指向的实际文件。
  • 对于“这个答案没用”的情况,是否有反对意见。正是这种情况。
  • 但是您没有看到所做的努力? ://
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-12
  • 1970-01-01
  • 2016-05-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多