Я только начинаю изучать javascirpt, php около 2 дней. Проблема, с которой я сталкиваюсь, у меня уже есть файл x.dcm под корнем сервера, и я уже знал этот путь (например, http://localhost:8888/....) . Мой вопрос: как я могу просто захватить этот файл с сервера для использования, может быть, что-то вроде:Как запросить один файл как объект
var file= 'http://localhost:8888/....'; ////file is not an object
Я задаю этот вопрос, потому что я уже знал, как использовать метод ввода:
<input type="file" name="file" id="file">
<script>
$('#file').on('change',function(e){
var file = e.target.file; ///file is an object
});
</script>
, но это не то, что я хочу, что я хочу, чтобы использовать существовавший файл, а не вход.
Так что все дело в том, что:
<form id="input" method="post" enctype="multipart/form-data">
<input type="file" id="fileToUpload" name="fileToUpload">
</form>
я во-первых, сделать вклад, чтобы загрузить какой-либо файл, то в сценарии
<script>
$("form#input").submit(function(){
var formData = new FormData($(this)[0]);
$.ajax({
url: 'segmentation.php',
type: 'POST',
data: formData,
async: false,
success: function (html) {
$('#segbound').html(html);
},
cache: false,
contentType: false,
processData: false
});
return false;
});
</script>
Я послал этот файл (например, image.dcm), чтобы сделать что-то (запустите exec) на стороне сервера, затем он генерирует другое изображение (imgproc.dcm) в ожидаемом пути (http://localhost:8888/....), а затем следующее, что я, что это обработанное изображение отображается на экране. Для этого мне нужно использовать js называемый краеугольный камень, а также функцию в нем imageLoader.fileManager.get(file)
, который является файлом, который я должен отображать.
Когда я выбираю из ввода с использованием var file = e.target.file;
, как я упоминал выше, он отлично работает, тогда я проверяю тип файла, это [файл-объект]. Но когда я хочу просто отобразить это «imgproc.dcm» с помощью var file= 'http://localhost:8888/....';
, тип файла не является объектом, который выдает мой вопрос, как я могу просто захватить это известное изображение пути для использования в качестве объекта.
Или, чтобы улучшить это, можно получить возврат (сгенерированный imgproc.dcm) непосредственно после его обработки на стороне сервера, а затем использовать этот возврат (возможно, дать ему идентификатор ... не знаю) на дисплее (вызов функции краеугольного imageLoader.fileManager.get(file)
)
на стороне сервера, он выглядит следующим образом:
<?php
$target_dir = "/Applications/MAMP/htdocs/dicomread/temp/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
if (file_exists($target_file)) {
echo "file has already been uploaded.";
$uploadOk = 0;
}
if ($uploadOk == 0) {
echo "Sorry, your file was not uploaded.";
} else {
if (move_uploaded_file($_FILES['fileToUpload']['tmp_name'], $target_file)) {
echo "The file ". basename($_FILES['fileToUpload']['name']). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
}
$cmd = "/Applications/MAMP/htdocs/dicomread/abc 2>&1";
$Output_fileName = "imgproc.dcm";//$_FILES['fileToUpload']['name'];
exec("$cmd $target_file $Output_fileName);
echo "<br/>done";
?>
Любая помощь будет оценена.
Пожалуйста, более конкретно о вашей проблеме. Я понятия не имею, что вы имеете в виду. – b3wii
Не вижу никакого PHP здесь ... – wogsland
@wogsland ничего не php на самом деле, мое плохое, это просто простая проблема с тем, как использовать существующий файл на сервере в качестве объекта файла – MMzztx