![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Nick5 |
![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 7 Регистрация: 22.2.2012 Пользователь №: 3233 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Друзья,
сразу скажу, что я новичок в программировании, но надо срочно разобраться с одним вопросом. Прошу вашей помощи. Есть код, который отправляет файл на сервер: if (attachmentFileName != "") { fileInfo.setFile(attachmentFileName); QString bound="---------------------------123"; QByteArray data(QString("--"+bound+"\r\n").toAscii()); data += "Content-Disposition: form-data; name=\"action\"\r\n\r\n"; data += "\r\n"; data += QString("--" + bound + "\r\n").toAscii(); data += "Content-Disposition: form-data; name=\"file\"; filename=\""+fileInfo.fileName()+"\"\r\n"; data += "Content-Type: image/"+fileInfo.suffix().toLower()+"\r\n\r\n"; QFile file(fileInfo.absoluteFilePath()); file.open(QIODevice::ReadOnly); data += file.readAll(); data += "\r\n"; data += QString("--" + bound + "\r\n").toAscii(); data += QString("--" + bound + "\r\n").toAscii(); data += "Content-Disposition: form-data; name=\"desc\"\r\n\r\n"; data += "\r\n"; QNetworkRequest r(QUrl("http://ХХХХХХХХХХХХХХХХ.php?"+"p=upload")); r.setRawHeader(QString("Content-Type").toAscii(),QString("multipart/form-data; boundary=" + bound).toAscii()); r.setRawHeader(QString("Content-Length").toAscii(), QString::number(data.length()).toAscii()); manager->post(r, data); attachmentFileName.clear(); } на что сервер дает ответ в XML такой: ..... здесь происходит обработка имени файла, а именно переименование, и потом перемещение: ..... move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $fn); //echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; $messageUploadXml = $messageXml->addChild('upload', "upload/" . $fn); ..... Так вот в итоге вопрос: какую мне строчку в Qt написать, чтобы получить новое имя отправленного файла. Чувствую, что должно быть просто, но не пойму, как... Очень рассчитываю на вашу помощь. |
|
|
![]() |
Dimix |
![]()
Сообщение
#2
|
![]() Студент ![]() Группа: Участник Сообщений: 74 Регистрация: 24.11.2010 Пользователь №: 2215 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Может я не все внимательно прочитал но в QT есть прекрасный класс для работы с FTP => QFtp
И кстате передаваемые $_GET QNetworkRequest r(QUrl("http://ХХХХХХХХХХХХХХХХ.php?"+"p=upload")); удобнее писать так
Сообщение отредактировал Dimix - 7.3.2012, 21:12 |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 24.6.2025, 12:36 |