Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lotus Notes/Domino: Программирование
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.81/58: Рейтинг темы: голосов - 58, средняя оценка - 4.81
dymot
0 / 0 / 0
Регистрация: 17.10.2008
Сообщений: 506
1

Отправить Прикрепленные Файлы Постом

09.09.2013, 14:39. Просмотров 10467. Ответов 12
Метки нет (Все метки)

Всем привет!

Есть вот такая хтмл страничка, которая позволяет отправить логин, пароль и некоторый список файлов постом на сервер.

.SpoilerTarget">Спойлер: Раскрывающийся Текст
<html>
<head>
<title>Загрузка отчетов</title>
<style>
table {text-align:center;border:0px solid black;width:600px}
td {text-align:center;border:0px solid black;width:600px}
.tdLeft {text-align:left}
.tdRight {text-align:right}
</style>
<script type="text/javascript">
var maxFileId = 1;
var listFiles = "";
function createFormFile() {
var fileForms = document.getElementById("fileForms");

var divFile=document.createElement("DIV");
divFile.id = "divFile"+maxFileId;
divFile.innerHTML = "<input type=\"file\" name=\"report"+maxFileId+"\" id=\"idReport"+maxFileId+"\">";
divFile.innerHTML += "<a href=\"#\" style=cursor:pointer;visibility:hidden id=\"delFile"+maxFileId+"\" onclick=\"deleteFormFile("+maxFileId+")\">Отменить</a>";

fileForms.appendChild(divFile);
maxFileId++;
}

function deleteFormFile(id) {
if(id == maxFileId-1)
return;
var fileForms = document.getElementById("fileForms");
var fileToDel = document.getElementById("divFile"+id);
fileForms.removeChild(fileToDel);
}

function createFiles() {
var form = document.getElementById("postForm");
if(document.URL[document.URL.length-1] != /)
form.action = document.URL + / + upload;
else
form.action = document.URL + upload;
createFormFile();
checkLast();
}
function checkLast(){
var lastFile = document.getElementById("idReport"+(maxFileId-1));
var delFile = document.getElementById("delFile"+(maxFileId-1));
if(lastFile.value) {
delFile.style.visibility = "visible";
createFormFile();
}
setTimeout("checkLast();",200);
}
function getFiles(){
var i;
listFiles = "";
for(i=0;i<document.forms[0].elements.length;i++) {
if(document.forms[0].elements.type == "file")
listFiles += document.forms[0].elements.name + " ";
}
document.getElementById("fileList").value = listFiles.substr(0,listFiles.length-1);
}
</script>
</head>
<body onload="createFiles()">
<div align="center">
<form action="upload" enctype="multipart/form-data" method="post" onsubmit="getFiles();" id="postForm">
<table>
<tr><td colspan="2"><h2>Загрузка отчетов</h2>ver 1.1.2.7</td></tr>
<tr><td class="tdRight">Логин:</td><td class="tdLeft"><input type="text" name="login"></td></tr>
<tr><td class="tdRight">Пароль:</td><td class="tdLeft"><input type="password" name="password"></td></tr>
<tr><td colspan="2">
<b>Укажите файлы загружаемых отчетов</b><br>
<p id="fileForms">
</p>
</td></tr>
<tr><td colspan="2" class="tdRight">
<input type="hidden" name="fileList" value="" id="fileList">
<input type="submit" value="Отправить" >
</td></tr>
</table>
</form>
</div>
</body>
</html>




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

Подскажите как это сделать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.09.2013, 14:39
Ответы с готовыми решениями:

Отправить постом
Как можно отправить строку методом POST через php?(Аналагично &lt;form&gt; в HTML) ...

как отправить HTTPзапрос из VB постом ?
как отправить HTTPзапрос из VB постом ? Что то не могу найти негде! помогите...

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

Обратная связь vs прикрепленные файлы
Здравствуйте. Возможно поднимались подобные темы, но под мой случай я не нашёл...

Можно ли автоматически прикрепить к форме ранее прикрепленные файлы?
Имеется форма со множеством текстовых полей и с полями типа 'file' При...

12
tmyky
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
09.09.2013, 20:57 2
http://stackoverflow.com/questions/2320069...jax-file-upload
если браузер - ишак - будете извращаться :(
0
dymot
0 / 0 / 0
Регистрация: 17.10.2008
Сообщений: 506
09.09.2013, 21:34 3
Уточнение: нужно сделать на форме лотус и все это должно работать в клиенте(не web)
0
sovt
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
09.09.2013, 22:48 4
хм... агент на текущем документе, на сервере.
еще вариант отправлять письмо-запрос с параметрами, сервер принимает запрос -> обрабатывает.
а может xpage? по сути такая же страница, но при этом и на клиенте...

ps я бы делал запросом, до xpage еще руки не дошли.
Отправлял бы письмо на определенный адрес, mail-in database. В ней агент на обработку.
После обработки сносил бы документ где содержится attach, логин, пароль.
Если ошибка - документ жив, можно поправить и переобработать.
0
dymot
0 / 0 / 0
Регистрация: 17.10.2008
Сообщений: 506
10.09.2013, 08:18 5
Ну тут разные варианты могут быть, с этим нет проблем, проблема в том, что я не знаю как сформировать такой же пост запрос и отправить его

Кстати, xpage не вариант, у всех 7 клиент стоит
0
tmyky
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
10.09.2013, 11:04 6
тогда http://commons.apache.org/proper/commons-fileupload/

Добавлено: при отправке на домину - сначала get формы нуна, чтобы уникальное число получить (бишь имярек аплоада)
http://web3.inttrust.ru/site/itforum.nsf/4...33;OpenDocument
0
dymot
0 / 0 / 0
Регистрация: 17.10.2008
Сообщений: 506
12.09.2013, 08:22 7
Вобщем сделали так: пхп скрипт который гетом принимает параметры (логин, пароль, список путей к файлам) и отправляет уже пост с логином паролем и файлами, на стороне лотуса гет выполняет ява агент, предварительно определив пару логин/пароль и список путей к файлам.

наверное можно было бы сделать все на ява, но я так и не смог разобраться как отправить помимо текста еще и файлы.
0
tmyky
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
12.09.2013, 14:17 8
Цитата Сообщение от dymat
Вобщем сделали так: пхп скрипт который гетом принимает параметры (логин, пароль, список путей к файлам) и отправляет уже пост с логином паролем и файлами, на стороне лотуса гет выполняет ява агент, предварительно определив пару логин/пароль и список путей к файлам.

наверное можно было бы сделать все на ява, но я так и не смог разобраться как отправить помимо текста еще и файлы.
вы про апач либу читали - там прям код написан, кот. нуна в джава вставить
0
dymot
0 / 0 / 0
Регистрация: 17.10.2008
Сообщений: 506
12.09.2013, 15:08 9
о, только сейчас увидел пост, спасибо, почитаю
0
tmyky
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
12.09.2013, 15:47 10
так чтобы как-то описание процесса было :( http://stackoverflow.com/questions/6917105...-file-over-post

Добавлено: апачевская часть - это серверная, сори

Добавлено: http://www.jguru.com/faq/view.jsp?EID=62798
0
dymot
0 / 0 / 0
Регистрация: 17.10.2008
Сообщений: 506
12.09.2013, 15:48 11
lmike Спасибо!
Кстати, с праздником!
0
tmyky
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
12.09.2013, 15:53 12
спасибо, взаимно :(
вот еще http://evgeny-goldin.com/blog/uploading-fi...rt-post-apache/
0
tmyky
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
12.09.2013, 17:56 13
кста - вот полный пример (ссылка в блоге выше не работает)
http://indywiz.wordpress.com/2009/02/11/mu...ts-http-client/

Добавлено: текст выложу, ато сцылки могут подохнуть :(<!--shcode--><pre><code class=java>import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.nio.charset.Charset;
import org.apache.http.HttpResponse;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.MultipartEntity;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.entity.mime.content.StringBody;
import org.apache.http.impl.client.DefaultHttpClient;

...

// The input:
File f = ...;
String title = ...;
String desc = ...;

// The execution:
DefaultHttpClient httpclient = new DefaultHttpClient();

HttpPost method = new HttpPost("http://host:port/path");
MultipartEntity entity = new MultipartEntity();
entity.addPart("title", new StringBody(title, Charset.forName("UTF-8")));
entity.addPart("desc", new StringBody(desc, Charset.forName("UTF-8")));
FileBody fileBody = new FileBody(f);
entity.addPart("file", fileBody);
method.setEntity(entity);

HttpResponse response = httpclient.execute(method);
System.out.println(response.getStatusLine());[/CODE]

Добавлено: останется вопрос с авторизацией ;) (сессионной), но это тема отдельная (здесь как-то пробегала КМК)
0
12.09.2013, 17:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.09.2013, 17:56

Как через php получить почту с сервера? +в письмах могут быть прикрепленные файлы
Как через php получить почту с сервера? +в письмах могут быть прикрепленные...

Отправить txt-файлы из текущей директории на принтер
Здравствуйте. Ребят подскажите пожалуйста код bat файла который сможет взять...

Найти и отправить файлы на EMAIL с определённой директории
Всем привет! Необходимо написать программу, которая сможет: найти (запаковать в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru