2017-01-13 4 views
0

私はちょうど約2日間、javascirptを学び始めます。私が直面している問題は、サーバールートの下に既にx.dcmファイルがあり、そのパスを既に知っていることです(http://localhost:8888/...など)。 私の質問は、サーバーからそのファイルを取得する方法です。オブジェクトとして1つのファイルを要求する方法

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を実行する)、次に予想されるパス(http://localhost:8888/...。)に別のイメージ(imgproc.dcm)を生成し、次にそのイメージを画面に表示します。これを行うには、私は基幹と呼ばれるjsを使用する必要があり、その中の関数imageLoader.fileManager.get(file) どのファイルを表示するかです。

私が上記のようにvar file = e.target.file;を使用して入力から選択すると、完全に機能し、次に[ファイルオブジェクト]であるファイルタイプをチェックします。 しかし、私は単純にvar file= 'http://localhost:8888/....';を使用して 'imgproc.dcm'を表示したい場合、ファイルタイプは私の質問から出てくるオブジェクトではありません。オブジェクトとして使用するには、その既知のパスイメージを簡単に取得できますか?

また、改善するために、サーバ側で処理した直後に戻り値(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"; 

?> 

任意の助けいただければ幸いです。

+0

あなたの問題についてより具体的にしてください。 – b3wii

+0

ここにPHPがありません... – wogsland

+0

@wogsland実際にPHPについては何もありませんが、私の悪いことは、ファイルオブジェクトとしてサーバー上に存在するファイルを使用する方法についての単なる問題です – MMzztx

答えて

0

ファイルへのURLでfopenを使用:

$file = fopen("http://localhost:8888/x.dcm", "r"); 

は、fopenのために、この参照してください:http://php.net/manual/en/function.fopen.php

+0

OPはjavascriptを使用してクライアント側でそれを必要とします(それはそうです)。 –

+0

このようにしますか? http://stackoverflow.com/questions/4533018/how-to-read-a-text-file-from-server-using-javascript – Bambang

関連する問題