Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача файла multipart/form-data 
:(
    Опции темы
mrNote
Дата 3.9.2009, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всем доброе время суток!

Столкнулся с такой задачей, никак не могу решить :(
требуется передать данные из переменной на сервер в виде файла.
вот мой код:

Код

file = "1234567890";
crlf  = '\r\n';
data =    '---------------------------7d9531710462' + crlf +
        'Content-Disposition: form-data; name="example"; filename="file.txt"' + crlf +
        'Content-Type: text/plain' + crlf + crlf + file + crlf +
        '---------------------------7d9531710462--';

url="upload.php";

req = makeRequest();        
req.open("POST", url, false);
req.onreadystatechange = function() {callBack(req);}
req.setRequestHeader('Content-Type', 'multipart/form-data; boundary=---------------------------7d9531710462');
req.setRequestHeader('Content-Length', data.length);
req.send(data);

function callBack(http_req) {
var PickText, prevDiv;
 if (http_req.readyState == 4) {
  if (http_req.status == 200) {
   Ans = http_req.responseText;
  } else {
   Ans = 'Problem with the request.';
  }
    alert(Ans);
  }
}

function makeRequest() {
    var http_request = false;
    if (window.XMLHttpRequest) {
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
        }
    } else if (window.ActiveXObject) {
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) { }
        }
    }
    if (!http_request) {
      alert("Error"); return false;
    }
    return http_request;
}


Не хочет работать.... :(

Помогите плиз разобраться...
PM MAIL   Вверх
bars80080
Дата 3.9.2009, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



насколько я знаю, аякс с файлами в принципе не работает
PM MAIL WWW   Вверх
mrNote
Дата 3.9.2009, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(bars80080 @ 3.9.2009,  19:23)
насколько я знаю, аякс с файлами в принципе не работает

Так мне с файлами и не надо работать. Данные для передачи содержатся в переменной, которую нужно отправить как файл...
PM MAIL   Вверх
bars80080
Дата 3.9.2009, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



вот вопрос и заключается в том, может ли аякс отправить заголовки симулирующие файл?

насколько я знаю, он принципиально это не может делать. все примеры которые я встречал об отправке файлов без перезагрузки страницы, начинались словами: аякс этого делать не умеет


п.с. надо проверить, может любой аякс-запрос сопровождается заголовками, которые не позволяют обмануть сервер

Добавлено через 45 секунд
но сам по себе вопрос странный. если у вас есть доступ к серверу, то что мешает серверными механизмами записать этот файл из пришедших данных?
PM MAIL WWW   Вверх
mrNote
Дата 4.9.2009, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



В том то все и дело, что нет доступа к принимающей части...
PM MAIL   Вверх
bars80080
Дата 4.9.2009, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



тогда остаётся спросить: а не вирусняк ли вы хотите закинуть?
PM MAIL WWW   Вверх
mrNote
Дата 4.9.2009, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



нет, не вирусняк.... просто фотки.
PM MAIL   Вверх
bars80080
Дата 4.9.2009, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



сделайте обычный загрузчик через скрытый iframe. практика по нему наработана и без всяких заморочек
http://forum.vingrad.ru/forum/topic-271676.html


кстати, как вы собирались считывать с компа пользователя содержимое картинки?
PM MAIL WWW   Вверх
mrNote
Дата 5.9.2009, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(bars80080 @ 4.9.2009,  17:27)
кстати, как вы собирались считывать с компа пользователя содержимое картинки?

содержимое картинки планируется держать в переменной
PM MAIL   Вверх
bars80080
Дата 5.9.2009, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



Цитата(mrNote @  5.9.2009,  14:14 Найти цитируемый пост)
содержимое картинки планируется держать в переменной 

не понял. вы её с сервера собираетесь загружать, а потом обратно закачивать через аякс?
PM MAIL WWW   Вверх
mrNote
Дата 6.9.2009, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



нет, переменная будет изначально в скрипте
PM MAIL   Вверх
bars80080
Дата 6.9.2009, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



Цитата(mrNote @  6.9.2009,  09:18 Найти цитируемый пост)
нет, переменная будет изначально в скрипте 

изначально в скрипте, значит загружена с сервера

Добавлено через 49 секунд
послушайте, можете рассказать что вы делаете подробнее. а то я ж прям весь в загадках
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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