powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Тащу файл на div drag'n'drop-ом. Как пощупать сам файл?
25 сообщений из 27, страница 1 из 2
Тащу файл на div drag'n'drop-ом. Как пощупать сам файл?
    #38785421
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жесть какая-то.

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
 __drag_drop(dropevent): void {

        dropevent.stopPropagation();
        dropevent.preventDefault();

        var types = dropevent.dataTransfer.types;

        $.ajax({
            type: 'POST',
            url: "/home/new_picture",
            data: { pictire: dropevent.dataTransfer.getData("[color=red]ЧТО ПИСАТЬ ЗДЕСЬ????[/color]")}
        });

        //dropevent.dataTransfer.getData(types[0])
       

    }




Что надо передать в параметре метода getData()??????
Сказано, что надо передать формат в строковом виде.
Хоть как-то "съело" только TEXT - и вернуло null.

Больше ничего "есть не хочет" - выбрасывает исключение - "Недопустимый аргумент".
Перепробовал много - от image/jpeg до Files -- File.

Не понимаю.
...
Рейтинг: 0 / 0
Тащу файл на div drag'n'drop-ом. Как пощупать сам файл?
    #38785454
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MonochromatiqueЧто надо передать в параметре метода getData()??????
Код: sql
1.
'Files'

вернет массив файлов
...
Рейтинг: 0 / 0
Тащу файл на div drag'n'drop-ом. Как пощупать сам файл?
    #38785473
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный Меч,

Да нифига.
...
Рейтинг: 0 / 0
Тащу файл на div drag'n'drop-ом. Как пощупать сам файл?
    #38785502
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dataTransfer.files

https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer#files.28.29

А getData принимает параметрами только 'Text' или 'URL'.
...
Рейтинг: 0 / 0
Тащу файл на div drag'n'drop-ом. Как пощупать сам файл?
    #38785518
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MonochromatiqueЯростный Меч,

Да нифига.

getData('Files') вернет массив файлов.
далее тебе надо их по отдельности, либо через FormData, отправить на сервер.
...
Рейтинг: 0 / 0
Тащу файл на div drag'n'drop-ом. Как пощупать сам файл?
    #38785571
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный МечMonochromatiqueЯростный Меч,

Да нифига.

getData('Files') вернет массив файлов.
далее тебе надо их по отдельности, либо через FormData, отправить на сервер.

Спасибо, конечно, но как-то не спешит он возвращать массив файлов. Я же на скрине это показал.
...
Рейтинг: 0 / 0
Тащу файл на div drag'n'drop-ом. Как пощупать сам файл?
    #38785586
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariydataTransfer.files

Так а что ".files"-то?

Там только мишура бесполезная, да имя файла без пути.

Мне до самого файла добраться надо.
...
Рейтинг: 0 / 0
Тащу файл на div drag'n'drop-ом. Как пощупать сам файл?
    #38785616
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Monochromatique,

функцию __drag_drop на какое событие вешаешь? на "ondrop"?
...
Рейтинг: 0 / 0
Тащу файл на div drag'n'drop-ом. Как пощупать сам файл?
    #38785625
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный Меч,

Да.

Код: html
1.
  <div class="my_panel_v" style="height:320px; background-color:aliceblue" ondragover="doc_control.prevent(event)" ondrop="doc_control.__drag_drop(event)"><h3>Перетащите новые фотографии сюда</h3></div>
...
Рейтинг: 0 / 0
Тащу файл на div drag'n'drop-ом. Как пощупать сам файл?
    #38785639
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MonochromatiqueAntonariydataTransfer.files

Так а что ".files"-то?

Там только мишура бесполезная, да имя файла без пути.

Мне до самого файла добраться надо.а чукча по ссылкам не ходок? DataTransfer -> FileList -> File -> getAsBinary()
...
Рейтинг: 0 / 0
Тащу файл на div drag'n'drop-ом. Как пощупать сам файл?
    #38785647
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,

}{одоque.

Non-standard
This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.


В IE не работает.
...
Рейтинг: 0 / 0
Тащу файл на div drag'n'drop-ом. Как пощупать сам файл?
    #38785657
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MonochromatiqueВ IE не работает.В IE много чего не работает, такова жизнь. text-decoration-style, например, вообще работает только в FF. А эту штуку еще как минимум хром поддерживает.
...
Рейтинг: 0 / 0
Тащу файл на div drag'n'drop-ом. Как пощупать сам файл?
    #38785671
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
блин, а ведь точно, dataTransfer.files.

у меня в коде так записано:
Код: sql
1.
2.
var dt = e.dataTransfer;
var files = dt.files || dt.getData('Files');




MonochromatiqueТам только мишура бесполезная, да имя файла без пути.не такая уж бесполезная.
files[i] представляет собой "ссылку на файл".
ее можно отправить аяксом (через свойство upload объекта "new XMLHttpRequest()", либо через FormData)
либо прочитать с помощью FileReader
...
Рейтинг: 0 / 0
Тащу файл на div drag'n'drop-ом. Как пощупать сам файл?
    #38785715
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный МечMonochromatiqueТам только мишура бесполезная, да имя файла без пути.не такая уж бесполезная.
files[i] представляет собой "ссылку на файл".
ее можно отправить аяксом (через свойство upload объекта "new XMLHttpRequest()", либо через FormData)
либо прочитать с помощью FileReader


Чудно как-то.

Почему я не могу "ссылку на файл" увидеть "глазами" в отладчике?

Нет ни свойства, ни метода..
...
Рейтинг: 0 / 0
Тащу файл на div drag'n'drop-ом. Как пощупать сам файл?
    #38785799
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MonochromatiqueНет ни свойства, ни метода..свойства должны быть.
имя файла, размер.
...
Рейтинг: 0 / 0
Тащу файл на div drag'n'drop-ом. Как пощупать сам файл?
    #38785805
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный МечMonochromatiqueНет ни свойства, ни метода..свойства должны быть.
имя файла, размер.

Это всё есть.

Я про само тело файла.

Как можно логически догадаться, что с ссылкой надо работать?
...
Рейтинг: 0 / 0
Тащу файл на div drag'n'drop-ом. Как пощупать сам файл?
    #38785813
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MonochromatiqueКак можно логически догадаться, что с ссылкой надо работать?открыть документацию и почитать.
FileReader тебе нужен.
...
Рейтинг: 0 / 0
Тащу файл на div drag'n'drop-ом. Как пощупать сам файл?
    #38785822
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный МечMonochromatiqueКак можно логически догадаться, что с ссылкой надо работать?открыть документацию и почитать.
FileReader тебе нужен.


Про FileReader я понял.

Я имею в виду другое.

Если я имею экземпляр класса, у которого в отладчике всего два поля:
1. name (и то огрызок)
2. size

то как догадаться, что НА САМОМ-ТО ДЕЛЕ - там "где-то" еще есть и тело файла?

Писал много на Шарпе - как-то в башню это не залезает.

Я понимаю, если бы там был ПОЛНЫЙ ПУТЬ, тогда встал бы вопрос - как прочитать файл по данному пути, но его ведь нет.
...
Рейтинг: 0 / 0
Тащу файл на div drag'n'drop-ом. Как пощупать сам файл?
    #38785837
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Monochromatiqueто как догадатьсядогадаться нельзя.
но это странный вопрос - "как догадаться".
общепринятый подход - чтение документации.
а догадаться до всего нельзя и в C# только с помощью дебаггера/автокомплита (сам на нем писал).


Monochromatique1. name (и то огрызок)не огрызок, а именно то что надо.
Путь к файлу в условиях вебстраницы никакого смысла не имеет - всё равно нет произвольного доступа к файловой системе, есть ограниченный.
Невозможно просто взять и прочитать файл по заданному некоторой строкой пути.

MonochromatiqueЯ понимаю, если бы там был ПОЛНЫЙ ПУТЬ, тогда встал бы вопрос - как прочитать файл по данному путинет.
почему - см. выше.
а сделано самым очевидным образом (для людей, привыкших к js) - в методы FileReader передается эта ссылка.
хотя, может быть, ещё очевидней было бы оные методы в класс File добавить. Но сделано как сделано.
...
Рейтинг: 0 / 0
Тащу файл на div drag'n'drop-ом. Как пощупать сам файл?
    #38785877
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я очень не хочу показаться занудой...

Но эта ситуация меня обескуражила. Я не понимаю таких подходов.

Когда смотришь на объект в отладчике - и нету шанса догадаться, что за ним скрывается.

Чо, может и secretObject:string "ля-ля-ля" может ссылаться (представлять из себя) на какой-нибудь мега-контроллер, который стоит куда-то там передать и начнётся настоящая ЖАРА!!!!!????

Так JS меня еще не обламывал.
...
Рейтинг: 0 / 0
Тащу файл на div drag'n'drop-ом. Как пощупать сам файл?
    #38785924
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я понял! Это просто отстрел башки!!!

"Класс" File наследует Blob-у!

И добавлены какие-то свойства.

Ну что ж, запомним. Если у класса работяга есть поле возраст, то best practice по JS - унаследовать его от number. Интересно, а в этом случае - мы в отладчике увидим значение "возраста"??
...
Рейтинг: 0 / 0
Тащу файл на div drag'n'drop-ом. Как пощупать сам файл?
    #38785942
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Куда надо полезть в отладчике, чтобы понять, что File унаследован от Blob-а?
2. Увидеть "тело" Blob-а?
...
Рейтинг: 0 / 0
Тащу файл на div drag'n'drop-ом. Как пощупать сам файл?
    #38785981
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MonochromatiqueЯ понял! Это просто отстрел башки!!!

"Класс" File наследует Blob-у!

И добавлены какие-то свойства.

Ну что ж, запомним. Если у класса работяга есть поле возраст, то best practice по JS - унаследовать его от number. Интересно, а в этом случае - мы в отладчике увидим значение "возраста"??да ладно тебе.
вспомни класс FileStream в сишарпе.
от чего он отнаследован?

здесь то же самое. File - это Blob, который хранится на диске и имеет название. Всё логично.

Monochromatique1. Куда надо полезть в отладчике, чтобы понять, что File унаследован от Blob-а?см. картинку-аттач. Это дебаггер в Хроме.
...
Рейтинг: 0 / 0
Тащу файл на div drag'n'drop-ом. Как пощупать сам файл?
    #38785986
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Monochromatique2. Увидеть "тело" Blob-а?вот, на той же странице (создание топика), в консольке, выполнить такие действия (построчно, т.е. написал строку, нажал ентер, и так 4 раза):
Код: sql
1.
2.
3.
4.
var file = document.getElementsByName("fileupload")[0].files[0];
var freader = new FileReader();
freader.readAsArrayBuffer(file);
new Uint8Array(freader.result)



в ответ на последнюю строку вывалится массив байт.
только надо файл выбрать.
...
Рейтинг: 0 / 0
Тащу файл на div drag'n'drop-ом. Как пощупать сам файл?
    #38786012
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный Меч,

То есть идея глухая - увидеть в отладчике MS VS - тип BLOB и его значение (имея объект File)?

Только в отладчике браузера?


-- File - это Blob, который хранится на диске и имеет название. Всё логично.

Мне гораздо ближе идея композиции, чем наследования, признаться..
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Тащу файл на div drag'n'drop-ом. Как пощупать сам файл?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]