powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Не передаётся полный путь до файла
17 сообщений из 17, страница 1 из 1
Не передаётся полный путь до файла
    #36414358
Ichisen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не удаётся передать полный путь до файла, передаётся только имя самого файла.

HTML

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
<form method="POST" action="Default/IMG.php" OnSubmit="sendRequest(); return false">
        <br/>
		
<table>
		<tr>
		<td><div style = "display: none"><input type = "text" id = "fBrowse" name ="path"></div>
<input type=file onclick =document.getElementById("fBrowse").click() /></td></tr>
<tr><td><input type="submit" value="Применить" /></td></tr>
		</table>
         </form>

JavaScript

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
     
  function getRequestBody(oForm) {
        var aParams = new Array();
        for(var i =  0 ; i < oForm.elements.length; i++) {
          var sParam = encodeURIComponent(oForm.elements[i].name);
          sParam += "=";
          sParam += encodeURIComponent(oForm.elements[i].value);
          aParams.push(sParam);
        }
        return aParams.join("&");
      }
	  
	  function sendRequest() {
        var oForm = document.forms[ 0 ];
        var sBody = getRequestBody(oForm);
        alert(sBody)
        var oXmlHttp = createXMLHttp();
                oXmlHttp.open("POST",oForm.action, true);
        oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                oXmlHttp.onreadystatechange = function() {
          if(oXmlHttp.readyState ==  4 ) {
            if(oXmlHttp.status ==  200 ) {
              saveResult(oXmlHttp.responseText);
            } else {
              saveResult("Error: " + oXmlHttp.statusText);
            }
          }
        };
        oXmlHttp.send(sBody);
      }

PHP

Код: plaintext
1.
2.
3.
4.
5.
6.
header("Content-Type: image/jpg");
$IMG = $_POST['path'];
$fname = $IMG;
$f = fopen($fname, "r");
$fc = fread($f, filesize($fname));
fclose($f);
echo $fc;
...
Рейтинг: 0 / 0
Не передаётся полный путь до файла
    #36414367
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ichisenне удаётся передать полный путь до файла
Как тут писалось уже не раз - и не передастца. Потому как, так и сделано.
...
Рейтинг: 0 / 0
Не передаётся полный путь до файла
    #36414413
Ichisen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa,

может лучше подсказать, чем обсмеять?
...
Рейтинг: 0 / 0
Не передаётся полный путь до файла
    #36414424
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ichisen , а я разве не подсказал?
...
Рейтинг: 0 / 0
Не передаётся полный путь до файла
    #36414426
Ichisen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa,

ну я так не вижу где косяк...
...
Рейтинг: 0 / 0
Не передаётся полный путь до файла
    #36414429
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ichisenkrvsa,

ну я так не вижу где косяк...
Вы русский язык понимаете? Вам же сазали - нельзя. Значит нельзя.
...
Рейтинг: 0 / 0
Не передаётся полный путь до файла
    #36414433
Ichisen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShSerge,

ну и как же мне загрузить файл?
...
Рейтинг: 0 / 0
Не передаётся полный путь до файла
    #36414436
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IchisenShSerge,

ну и как же мне загрузить файл?
Аяксом штоле? Никак.
...
Рейтинг: 0 / 0
Не передаётся полный путь до файла
    #36414509
Ichisen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShSerge,

Аяксом я только путь передаю, странно если так очень странно...
...
Рейтинг: 0 / 0
Не передаётся полный путь до файла
    #36414572
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Аяксом я только путь передаю

Можно поинтересоваться, куда и с какой целью передавать куда то путь к файлу?
Серверу он точно нафиг не нужен (сегодня локальный файл тут, завтра там, а послезавтра его вобще удалили). Скриптам JS он тоже ни к чему, так как при стандартных настройках безопасности они всё равно не имеют доступа к файловой системе компьютера.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Не передаётся полный путь до файла
    #36414755
Ichisen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

отправляю я полный путь до файла, что бы php после этого сумел этот файл загрузить. Аякс использую по тому что нужно выполнять эти операции на одной странице. Через submit всё работает, но для этого приходится переходить на другую страничку, а это недопустимо.
...
Рейтинг: 0 / 0
Не передаётся полный путь до файла
    #36414777
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> отправляю я полный путь до файла, что бы php после этого сумел этот
> файл загрузить.

Ерунда полная. Не умеет он такого делать. А если б умел, так любой желающий давно бы потырил всё интересное с компьютеров пользователей. ...ога, и с Вашего тоже


> приходится переходить на другую страничку, а это недопустимо.

Переходите на эту же страничку. В чём проблема?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Не передаётся полный путь до файла
    #36414781
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ichisenну и как же мне загрузить файл?
Какой серверный язык используется? Я могу помочь только примерами на CSP...
...
Рейтинг: 0 / 0
Не передаётся полный путь до файла
    #36414859
пролетевший
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ichisenvkle,

отправляю я полный путь до файла, что бы php после этого сумел этот файл загрузить. Аякс использую по тому что нужно выполнять эти операции на одной странице. Через submit всё работает, но для этого приходится переходить на другую страничку, а это недопустимо.
В силу ограничений безопасности, доступ к файловой системе из скрипта прикрыт полностью:
1) путь в input type="file" может ввести только пользователь, для скрипта он "read-only"
2) Полный путь к файлу может содержать лишнюю информацию, например путь к файлу в домашнем каталоге практически всегда сожержит имя пользователя в системе - злобному кулхацкеру задача упрощается, надо только пароль подбирать.
3) Никакими действиями скрипта файл не отправить, только браузер через "multipart" форму и file input.
Но на всякую хитрую Ж... всегда находится инструмент с резьбой. Создается iframe ( можно скрытый ), на нем multipart форма. Скрипт переносит input как DOM-элемент в этот iframe и отправляет форму оттуда. Погугли "ajax file upload", решений есть много
...
Рейтинг: 0 / 0
Не передаётся полный путь до файла
    #36415224
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот как качаются на сервер файлы в CSP... Пример из комплекта поставки.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
<!-- Copyright (c) 2001 InterSystems Inc. ALL RIGHTS RESERVED. -->
<csp:class description="Demo of how to upload a file from the browser.">
<html>

<head>
</head>

<body bgcolor="#CCCCFF">

<!-- display standard sample template using a custom tag -->
<isc:SAMPLE title="Upload a file Sample">
This sample uses an '<input type=file>' element in a form to upload a file
from the web browser to CSP. Pick a file and hit the submit button to try it.
</isc:SAMPLE>

<!-- HTML Form to submit the file. You must specify the enctype="multipart/form-data" -->
<!-- for this to work -->
<form action="upload.csp" enctype="multipart/form-data" method="post">
    Enter a file to upload here: <input name=FileStream size= 30  type=file>
    <p>
    <ul><input type="submit" value="Upload file"></ul>
    <p>
</form>

<!-- As form is submitted to this page look to see if we have the stream in the %request object -->
<csp:if condition='($data(%request.MimeData("FileStream",1)))'>
    <hr><br>
    Submitted filename: <b>#(%request.MimeData("FileStream", 1 ).FileName)#</b><br>
    Size of file: <b>#(%request.MimeData("FileStream", 1 ).Size)#</b><br>
    Mime Section: <b>#(%request.MimeData("FileStream", 1 ).MimeSection)#</b><br>
    Type of stream: <b>#(%request.MimeData("FileStream", 1 ).%ClassName( 1 ))#</b><br>
    Content Type: <b>#(%request.MimeData("FileStream", 1 ).ContentType)#</b><br>
    <br>
    First  200  characters of stream:<br>
    <ul>
    <script language="Cache" runat="server">
        New bytes
        Set bytes=%request.MimeData("FileStream", 1 ).Read( 200 )
        Set bytes=##class(%CSP.Utils).DecodeData(bytes)
        Write bytes,!
    </script>
    </ul>
</csp:if>

</body>
</html>

Путь к файлу нигде не используется.
----------
Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT
...
Рейтинг: 0 / 0
Не передаётся полный путь до файла
    #36415234
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пролетевшийСкрипт переносит input как DOM-элемент в этот iframe и отправляет форму оттуда. Можно просто для формы в target указать имя этого фрейма, тогда ничего переносить не надо.
...
Рейтинг: 0 / 0
Не передаётся полный путь до файла
    #36419064
Ichisen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем большое спасибо за подробное описание проблемы. Решение нашлось. Перепишу в своём варианте, выложу.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Не передаётся полный путь до файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]