Lefteris Gkinis Ответов: 1

Up загрузка файла с клиента на сервер проблемы


Я использую эти строки в своем коде aspx
<input type="file"  name="file1" id="file1" />;
  <input type="button" value="SendFile" onclick="uploadFile()"/>;<br />
  <progress id="progressBar" value="0" max="100" style="width:300px;"> </progress>
  <h3 id="status"></h3>
  <p id="loaded_n_total"></p>

И я также использую этот "скрипт" для того, чтобы управлять загрузкой прозы.
<script type="text/javascript">
function _(el){
	return document.getElementById(el);
}
function uploadFile(){
	var file = _("file1").files[0];
	// alert(file.name+" | "+file.size+" | "+file.type);
	var formdata = new FormData();
	formdata.append("file1", file);
	var ajax = new XMLHttpRequest();
	ajax.upload.addEventListener("progress", progressHandler, false);
	ajax.addEventListener("load", completeHandler, false);
	ajax.addEventListener("error", errorHandler, false);
	ajax.addEventListener("abort", abortHandler, false);
	ajax.open("POST","http://www.fileupload.ekkeross.com");
	ajax.send(formdata);
}
function progressHandler(event){
	_("loaded_n_total").innerHTML = "Uploaded "+event.loaded+" bytes of "+event.total;
	var percent = (event.loaded / event.total) * 100;
	_("progressBar").value = Math.round(percent);
	_("status").innerHTML = Math.round(percent)+"% uploaded... please wait";
}
function completeHandler(event){
	_("status").innerHTML = event.target.responseText;
	_("progressBar").value = 0;
}
function errorHandler(event){
	_("status").innerHTML =  "Upload Failed  " ;
}
function abortHandler(event){
	_("status").innerHTML = "Upload Aborted";
}
</script>


Он отлично работает, если я хочу загрузить свою текущую страницу.
Но файл изображения, который я выбираю, не загружается.

Кроме того я должен сказать следующее:

Текущая страница не сохраняется в Каталоге, но она появляется на текущей странице браузера.
Когда я пытаюсь поместить любой (легальный) каталог в
ajax.open("POST","http://www.fileupload.ekkeross.com");

любить
ajax.open("POST","http://www.fileupload.ekkeross.com/App_Data/FileUpload");
возвращать ошибку. который говорит::
"Каталог Не Найден"

Я еще не упоминал о своем загрузочном файле... то есть нигде.
Скрипт` Я нашел его в Здесь

Пожалуйста, помогите мне в этом


Что я уже пробовал:

Ничего кроме этого







выше

1 Ответов

Рейтинг:
6

F-ES Sitecore

Этот код не сохраняет изображение на целевой url-адрес, он публикует изображение на странице с ожиданием, что эта страница является страницей загрузки файла, которая считывает файл из данных формы и сохраняет его где-то на целевом веб-сайте. Что касается папки app_data, которая не является общедоступной по соображениям безопасности, но, как уже упоминалось выше, вам все равно не нужно будет публиковать ее.

В приведенном ниже url-адресе приведен пример кода, который должен существовать на странице, на которую вы отправляете сообщение

Загрузка файлов в систему ASP.NET 2.0 | Microsoft Docs[^]

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