Я видел подобные вопросы прежде, который заканчивается без решения из-за соображений безопасности.
Но сегодня я вижу, что hostmonster успешно реализовал это, когда я открываю билет и присоединяю файл в их бэкенде.
Это работает и с Firefox и с IE (версия 8, чтобы быть точным).
Я проверил, что это - точно клиентские сценарии, никакой запрос не отправлен (с поджигателем).
Теперь, мы можем пересмотреть этот вопрос?
Вы можете получить имя файла , но вы не можете получить полный клиентский файловой путь.
Попробуйте получить доступ к атрибуту
атрибута вашего файла в
на событии изменение
.
Большинство браузеров дадут вам только имя файла , но есть исключения, такие как IE8, которые дадут вам поддельных , как: «C: \ FakePath \ myfile .ext "
и более старые версии (, т.е. <= 6 ), которые на самом деле дадут вам полный путь к файловой системе клиента (из-за отсутствия безопасности).
document.getElementById('fileInput').onchange = function () {
alert('Selected file: ' + this.value);
};
Только что тестировал, и это, кажется, работает в Firefox & IE
<html>
<head>
<script type="text/javascript">
function alertFilename()
{
var thefile = document.getElementById('thefile');
alert(thefile.value);
}
</script>
</head>
<body>
<form>
<input type="file" id="thefile" onchange="alertFilename()" />
<input type="button" onclick="alertFilename()" value="alert" />
</form>
</body>
</html>