У меня есть путь к файлу, который я хочу отправить на остальную веб-службу сервера. Я использую объект xmlhttprequest. Пост выглядит следующим образом:
var url = "http://localhost:8080/RestWSGS/jersey/gridsense";
var boundary = "--------------" + (new Date).getTime();
xmlHttp.open('POST', url, true);
xmlHttp.onreadystatechange = function ()
{
if (this.readyState != 4)
return;
var result =this.responseText;
document.write(result);
};
xmlHttp.setRequestHeader('Content-Type', 'multipart/form-data; boundary=' + boundary);
var part ="";
part += 'Content-Disposition: form-data; ';
part += 'name="' + document.getElementById("filename").name + '" ; ';
//alert(document.getElementById("filename").value);
part += 'filename="'+ document.getElementById("filename").value + '";\r\n';
part += "Content-Type: application/xml";
part += "\r\n\r\n"; // marks end of the headers part
part += 'filename="'+ document.getElementById("filename").value + '";\r\n';
part+= data;
var request = "--" + boundary + "\r\n";
request+= part /* + "--" + boundary + "\r\n" */;
request+= "--" + boundary + "--" + "\r\n";
alert(request);
xmlHttp.send(request);
Данные, которые я хочу отправить, находятся на локальном диске клиента. Я хочу использовать для этого метод get:
var str = document.getElementById("filename").value;
var data;
var xmlhttp1 = getNewHTTPObject();
xmlhttp1.open("GET",
"file:///New Folder/" +document.getElementById("filename").value , false);
xmlhttp1.send(null);
alert('hi' + xmlhttp1.status);
xmlhttp1.onreadystatechange = function() {
if (this.status == 0)
{
alert("resp " + this.responseText);
data = this.responseText;
}
}
Файл: // не работает. Если я положу свой файл в каталог клиента и удалим файл: ///, тогда я смогу по крайней мере увидеть открытие xmlhttprequest и присвоить ему статус 200 (я думаю, хорошо !!). Я прочитал это для проверки статуса локального файла == 0 вместо readystatus == 4, поэтому я сделал это, но он по-прежнему выдает переменную данных как неопределенную, и поэтому файл не отправляется на сервер. Первоначально, когда я дал форму действий в качестве URL-адреса моего отдыха, он загружался нормально. Поскольку я не использую html5, я не могу получить объект File из элемента input type = file. Я хочу использовать объект xmlhttprequest для этого вместо элемента формы напрямую.
Пожалуйста, помогите мне с этой проблемой с любыми предложениями или подсказками
Кавита
Даже если я выполняю загрузку с использованием отправки формы, как я могу использовать возвращаемое значение веб-службы. Вот почему мне нужно использовать xmlhttpRequest. Если кто-нибудь может подсказать, как используется возвращаемое значение из действия, это будет здорово !!
Kavita