Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   работа с выбором файла (https://javascript.ru/forum/misc/13229-rabota-s-vyborom-fajjla.html)

dmitriymar 21.11.2010 19:57

работа с выбором файла
 
Доброго времени суток.Помогите разобраться. Знаю что делаю не совсем корректно а точнее совсем не корректно,но другого способа не знаю.
почему когда выбирается файл пишется полное его имя с путём. а переменной присваивается только часть -без пути. хотя по идее должно присваиваться всё то что в теге выбора. замена value на src не помогает. также не помогает и прописывание пути к серверу в теге формы

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
<!--
-->
</style>
</head>

<body>
<form id="form1" name="form1" >
<input type="file" name="ld" id="ld" />
<input type="submit" name="kn" id="kn" value="Submit" onClick="fz();"/>
</form>
<script>
function fz() {
var z=document.form1.ld.value;
alert(z);
}
</script>
</body>
</html>

monolithed 21.11.2010 20:06

Все логично и по другому никак:

<input type="file" name="input" />

<script type="text/javascript">
window.onload = function(){
    document.getElementsByName('input')[0].onchange = function(){
        alert(this.value);
    };
};
</script>

dmitriymar 21.11.2010 20:54

или как вариант возможно ли размещение открываемого граф файла в iframe для дальнейшей работы с ним или в графический массив?без отправки на сервер поскольку для этих целей используется XMLHttpRequest

monolithed 21.11.2010 21:12

Максимум что можно получить с помощью JS:
<form action="" method="post" enctype="multipart/form-data">
    <input type="file" name="input" />
</form>

<script type="text/javascript">
window.onload = function(){
    document.getElementsByName('input')[0].onchange = function(){
    var file = this.files[0];
        alert('fileSize: '+file.fileSize+'\n\nfileName: '+file.fileName+'\n\nContent: \n'+file.getAsBinary());
    };
};
</script>

B@rmaley.e><e 21.11.2010 21:19

Цитата:

Сообщение от monolithed
Максимум что можно получить с помощью JS:

И то не везде.

monolithed 21.11.2010 21:31

Цитата:

Сообщение от B@rmaley.e><e
И то не везде.

ага

Некоторые верси Firefox (до 3) могут показать полный путь, в остальном исключение в виде названия файла:

<form action="" method="post" enctype="multipart/form-data">
    <input type="file" name="input"/>
</form>

<script type="text/javascript">
window.onload = function(){
    document.getElementsByName('input')[0].onchange = function(){
        try {
            netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
        }
        catch(e) {
            alert(this.files[0].mozFullPath);
            return;
        }
        finally {
            alert(this.value);
        }
    };
};
</script>


Часовой пояс GMT +3, время: 07:39.