Модераторы: Illuminaty
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> фильтр файлов input type=file, фильтр 
V
    Опции темы
Andy_L20066
Дата 16.2.2009, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 10.3.2008

Репутация: нет
Всего: 1



Привет, возник такой вопрос: а возможно ли в контроле <input type="file"/> задать тип файлов который хочешь выбирать... ну тоесть только рисунки или только текстовые файлы....
Вот читал что можна задать это дело через accept.... это дейсвительно единственный способ?
PM MAIL ICQ   Вверх
Dobermann
Дата 16.2.2009, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

Репутация: нет
Всего: 0



Маска для *.jpg
Код

<form method=post enctype=multipart/form-data>
<input type=file name=file style="position:absolute;left:-1000">
<script>
var shell
</script>
<input type=button value=Browse... onclick="
  shell = new ActiveXObject('wscript.shell')
  form.file.focus()
  shell.SendKeys('{TAB} %(n)*.jpg{ENTER}')">
<input type=submit>
</form>
<script>

Ну или чтобы от языка не зависить
Код

<form method=post enctype=multipart/form-data>
<input type=file name=file style="position:absolute;left:-1000">
<script>
var shell
</script>
<input type=button value=Browse... onclick="
  shell = new ActiveXObject('wscript.shell')
  form.file.focus()
  shell.SendKeys('{TAB} {TAB}{HOME}{DOWN}{DOWN}+({TAB})')">
<input type=submit>
<input type=file>
</form>
<script>

Цитата

Вот читал что можна задать это дело через accept.... это дейсвительно единственный способ?

Теоретически можно задать разве что MIME-type:
Код

<input type="file" accept="text/plain">

Но это ИМХО все браузеры просто игнорируют.

Это сообщение отредактировал(а) Dobermann - 16.2.2009, 17:38
PM   Вверх
Andy_L20066
Дата 16.2.2009, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 10.3.2008

Репутация: нет
Всего: 1



есть две страницы: на одной нужно чтобы при клике по кнопке Browse юзер мог выбрать только рисунки, тоесть чтобы в диалоге Сhoose File были доступны только рисунки... на другой странице чтобы при клике на Browse юзер мог выбрать только файлы с раширением *.txt... сейчас в диалоге Choose File можно выбырать какие хочешь файлы Files of type= All files...

Добавлено через 1 минуту и 36 секунд
Цитата(Dobermann @ 16.2.2009,  17:30)
Цитата(Andy_L20066 @  16.2.2009,  17:07 Найти цитируемый пост)
задать тип файлов который хочешь выбирать

Фильтр на рисунки нужен чтоли, не пойму?

Добавлено @ 17:36
Маска для *.jpg
Код

<form method=post enctype=multipart/form-data>
<input type=file name=file style="position:absolute;left:-1000">
<script>
var shell
</script>
<input type=button value=Browse... onclick="
  shell = new ActiveXObject('wscript.shell')
  form.file.focus()
  shell.SendKeys('{TAB} %(n)*.jpg{ENTER}')">
<input type=submit>
</form>
<script>

Ну или чтобы от языка не зависить
Код

<form method=post enctype=multipart/form-data>
<input type=file name=file style="position:absolute;left:-1000">
<script>
var shell
</script>
<input type=button value=Browse... onclick="
  shell = new ActiveXObject('wscript.shell')
  form.file.focus()
  shell.SendKeys('{TAB} {TAB}{HOME}{DOWN}{DOWN}+({TAB})')">
<input type=submit>
<input type=file>
</form>
<script>

использование ActiveX - не пойдет... надо чтобы работало как в Мозилле так и в ИЕ...
PM MAIL ICQ   Вверх
Dobermann
Дата 16.2.2009, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

Репутация: нет
Всего: 0



ACCEPT – конкретизирует тип файла. Используется только совместно с параметром TYPE="file". Значение задается в виде MIME-типа.
Код

Таблица MIME-типов

MIME Type                          Extension

animation/narrative                nml
application/activemessage
application/andrew-inset
application/applefile
application/atomicmail
application/dca-rft
application/dec-dx
application/dsptype                tsp
application/fastman                lcc
application/font-tdpfr             pfr
application/futuresplash           spl
application/mac-binhex40           hqx
application/mac-compactpro         cpt
application/macwriteii
application/mspowerpoint           pot pps ppt ppz
application/msword
application/news-message-id
application/news-transmission
application/octet-stream           bin class dms exe sea
application/oda                    oda
application/pdf                    pdf
application/postscript             ai eps ps
application/remote-printing
application/rtf                    rtf
application/slate
application/softvision             svi
application/wita
application/wordperfect5.1
application/x-authorware-bin       aab
application/x-authorware-map       aam
application/x-authorware-seg       aas
application/x-bcpio                bcpio
application/x-bzip2                bz2
application/x-calquick             cqk
application/x-cdlink               vcd
application/x-cocoa                cco
application/x-compress             Z
application/x-cpio                 cpio
application/x-csh                  csh
application/x-director             dcr dir dxr
application/x-dvi                  dvi
application/x-excel                xls
application/x-expandedbook         ebk
application/x-gtar                 gtar
application/x-gzip                 gz
application/x-hdf                  hdf
application/x-httpd-cgi            cgi
application/x-javascript           js ls mocha
application/x-koan                 skd skm skp skt
application/x-latex                latex
application/x-lzh                  lha lzh
application/x-mapserver            mps
application/x-mascot               mct
application/x-mif                  mif
application/x-netcdf               cdf nc
application/x-ns-proxy-auto-config pac
application/x-pixelscooter         mpp
application/x-pointplus            css
application/x-sh                   sh
application/x-shar                 shar
application/x-shockwave-flash      swf
application/x-sprite               spr sprite
application/x-spt                  spt
application/x-stuffit              sit
application/x-sv4cpio              sv4cpio
application/x-sv4crc               sv4crc
application/x-tar                  tar tgz
application/x-tcl                  tcl
application/x-tex                  tex
application/x-texinfo              texi texinfo
application/x-troff                roff t tr
application/x-troff-man            man
application/x-troff-me             me
application/x-troff-ms             ms
application/x-ustar                ustar
application/x-wais-source          src
application/x-xdma                 xdm xdma
application/zip                    zip
audio/basic                        au snd
audio/echospeech                   es
audio/midi                         kar mid midi
audio/mpeg                         mp2 mp3 mpga
audio/tsplayer                     tsi
audio/voxware                      vox
audio/x-aiff                       aif aifc aiff
audio/x-bamba                      aba
audio/x-chacha                     cha
audio/x-mio                        mio
audio/x-pn-realaudio               ra ram rm
audio/x-pn-realaudio-plugin        rpm
audio/x-twinvq                     vqf vql
audio/x-twinvq-plugin              vqe
audio/x-wav                        wav
chemical/x-csml                    csm
chemical/x-embl-dl-nucleotide      emb
chemical/x-gaussian-input          gau
chemical/x-mdl-molfile             mol
chemical/x-mopac-input             mop
chemical/x-pdb                     pdb
chemical/x-xyz                     xyz
i-world/i-vrml                     ivr
image/fif                          fif
image/gif                          gif
image/ief                          ief
image/jpeg                         jpe jpeg jpg
image/png                          png
image/tiff                         tif tiff
image/vasa                         mcf
image/x-cmu-raster                 ras
image/x-freehand                   fh fh4 fh5 fh7 fhc
image/x-jps                        jps
image/x-portable-anymap            pnm
image/x-portable-bitmap            pbm
image/x-portable-graymap           pgm
image/x-portable-pixmap            ppm
image/x-rgb                        rgb
image/x-xbitmap                    xbm
image/x-xpixmap                    xpm
image/x-xres                       swx
image/x-xwindowdump                xwd
message/external-body
message/news
message/partial
message/rfc822
multipart/alternative
multipart/appledouble
multipart/digest
multipart/mixed
multipart/parallel
plugin/listenup                    ptlk
plugin/wanimate                    waf wan
text/html                          htm html
text/plain                         txt
text/richtext                      rtx
text/tab-separated-values          tsv
text/x-setext                      etx
text/x-sgml                        sgm sgml
text/x-speech                      talk
text/x-vcard                       vcf
video/mpeg                         mpe mpeg mpg
video/quicktime                    mov qt
video/vnd.vivo                     viv vivo
video/x-bamba                      vba
video/x-msvideo                    avi
video/x-sgi-movie                  movie
video/x-tango                      tgo
video/x-vif                        vif
workbook/formulaone                vts
world/x-panoramix                  pan
x-conference/x-cooltalk            ice
x-world/x-d96                      d96 mus
x-world/x-svr                      svr
x-world/x-vrml                     vrml wrl
x-world/x-vrt                      vrt

А задается примерно так:
Код

<FORM name="formname" method="POST" enctype="multipart/form-data">
...
<INPUT size="50" name="ImportFile" type="file" accept="image/gif">
...
</FORM>

PM   Вверх
Andy_L20066
Дата 16.2.2009, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 10.3.2008

Репутация: нет
Всего: 1



accept  - Мозилла вообще игнорирует... а ИЕ - создает дополнительные File types...
 smile 
не то что надо
PM MAIL ICQ   Вверх
Dobermann
Дата 16.2.2009, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

Репутация: нет
Всего: 0



Цитата(Andy_L20066 @  16.2.2009,  17:51 Найти цитируемый пост)
accept  - Мозилла вообще игнорирует... а ИЕ - создает дополнительные File types...

А ты сходу подо все браузеры заточить решил??? Откуда столько лени?!
PM   Вверх
Violator
Дата 16.2.2009, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 10.1.2009

Репутация: 15
Всего: 15



Andy_L20066
маску не получится задать, через скрипт можно выводить сообщение пользователю
Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
  <title></title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <script language="JavaScript">
    function formsubmit() {
        arr=['jpeg','gif'];
        v=document.getElementById('file').value;
        t=v.split('.');
        ext=t.pop();
        ext=ext.toLowerCase();
        if (in_array(ext,arr)) {
            // отправлять данные формы
            return true;
        } else {
            // сообщать пользователю что файл с данным расширением не может быть закачан
            return false;
        }
    }
    function in_array(needle, haystack, strict) {
        var found = false, key, strict = !!strict;
        for (key in haystack) {
            if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
                found = true;
                break;
            }
        }
        return found;
    }
  </script>
</head>

<body>
  <form method="post" enctype="multipart/form-data" onsubmit="formsubmit();" action="/">
    <input id="file" type="file" name="file" />
    <input type="submit" />
  </form>
</body>
</html>


Это сообщение отредактировал(а) Violator - 16.2.2009, 18:50
PM MAIL   Вверх
Andy_L20066
Дата 16.2.2009, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 10.3.2008

Репутация: нет
Всего: 1



Цитата(Dobermann @ 16.2.2009,  17:54)
Цитата(Andy_L20066 @  16.2.2009,  17:51 Найти цитируемый пост)
accept  - Мозилла вообще игнорирует... а ИЕ - создает дополнительные File types...

А ты сходу подо все браузеры заточить решил??? Откуда столько лени?!

не под все браузеры... только FireFox и ИЕ...
PM MAIL ICQ   Вверх
Andy_L20066
Дата 16.2.2009, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 10.3.2008

Репутация: нет
Всего: 1



cпасибо за ответы... прийдется применить либо клиентскую либо серверную валидацию...  не думал что нельзя как-то настроить этот контрол....
PM MAIL ICQ   Вверх
yantar
Дата 11.3.2009, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 20.1.2007

Репутация: нет
Всего: нет



Посмотрите на такую библиотеку - там возможно это сделать. swfupload
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Вёрстка веб-сайтов | Следующая тема »


 




[ Время генерации скрипта: 0.1423 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.