2017-04-30 34 views
0

ファイルアップロード入力があります。参照ボタンをクリックしてファイルを選択すると、ファイル名と拡張子を2つの入力テキストボックスに表示します(コードサンプル)。これは拡張機能で正しく動作しますが、ファイル名には私に偽パス警告を与えるパスも表示されます。私は理由を理解していますが、これを行い、そのボックスにファイル名を入れるのは良い方法です。私はその道を必要としない。javascript - 入力タイプからファイル名と拡張子を取得する

function getoutput(){ 
 
    outputfile.value=inputfile.value.split('.')[0]; 
 
    extension.value=inputfile.value.split('.')[1];}
<input id='inputfile' type='file' name='inputfile' onChange='getoutput()'><br> 
 
    Output Filename <input id='outputfile' type='text' name='outputfile'><br> 
 
    Extension <input id='extension' type='text' name='extension'>

答えて

1

使用lastIndexOf\

function getFile(filePath) { 
 
     return filePath.substr(filePath.lastIndexOf('\\') + 1).split('.')[0]; 
 
    } 
 

 
    function getoutput() { 
 
     outputfile.value = getFile(inputfile.value); 
 
     extension.value = inputfile.value.split('.')[1]; 
 
    }
<input id='inputfile' type='file' name='inputfile' onChange='getoutput()'><br> 
 
    Output Filename <input id='outputfile' type='text' name='outputfile'><br> 
 
    Extension <input id='extension' type='text' name='extension'>

+0

出力ファイル名ボックスには、拡張子ではなくファイル名のみが必要です。入力ファイルがexample.txtの場合、 "example"は1つのボックスに、txtはその他のファイルに表示されます。 – CheeseFlavored

+0

@CheeseFlavored私の更新された答えを見てください。 – julekgwa

2

あなたはこれを試してみることもできます。これは、ファイル名以外のすべてを削除する必要があります

var fullPath = inputfile.value.split('.')[0]; 
var filename = fullPath.replace(/^.*[\\\/]/, ''); 
outputfile.value=filename;` 

How to get the file name from a full path using JavaScript?から入手しました。指標として最後\を取得し、substrを使用する

0

これで少し古い記事の最後のインデックスから始まる残りの文字列を取得するには...情報のためだけに

//(extension.replaceを実行し、それはその後、JPEG画像であれば、

extension = image/jpeg 

場合や、PDF、その後、

extension = application/pdf 

を正確な値を取得するには:彼はあなたが例えばための拡張 を見つける入力します/ g、 '')。 値を取得します。

関連する問題