javascriptを使用してドキュメント内のファイルアップロードのファイル名を取得する

StackOverflow https://stackoverflow.com/questions/1804745

  •  05-07-2019
  •  | 
  •  

質問

var fu1 = document.getElementById("FileUpload1");

どのようにして id FileUpload1

でfileuploadコントロールのファイル名を取得できますか
役に立ちましたか?

解決

次のように、 value プロパティを試してください:

var fu1 = document.getElementById("FileUpload1");
alert("You selected " + fu1.value);

FileUpload1 はASP.Netサーバー側FileUploadコントロールのようです。
その場合、 <を使用してIDを取得する必要があります。次のようなcode> ClientID プロパティ:

var fu1 = document.getElementById("<%= FileUpload1.ClientID %>");

他のヒント

google chrome element.valueでは、名前+パスを返しますが、偽のパスを返します。したがって、私の場合、次のようにファイルのname属性を使用しました。

function getFileData(myFile){
   var file = myFile.files[0];  
   var filename = file.name;
}

これはページからの呼び出しです:

<input id="ph1" name="photo" type="file" class="jq_req" onchange="getFileData(this);"/>

document.getElementById(&quot; FileUpload1&quot;)。value を試す/ p>

RaYell、 返された値を解析する必要はありません。 document.getElementById(&quot; FileUpload1&quot;)。value は、拡張子付きのファイル名のみを返します。 「title」という名前の入力ボックスにアップロードするファイルの名前をコピーしたかったので、これは私にとって便利でした。私のアプリケーションでは、アップロードされたファイルの名前がバックエンドデータベースによって生成されたインデックスに変更され、タイトルがデータベースに保存されます。

試用

var fu1 = document.getElementById("FileUpload1").value;

フォームでこのようなコードを使用して、元のソースアップロードファイル名をキャプチャし、2番目の単純な入力フィールドにコピーできます。これは、ファイルのアップロードファイル名が不変であるため、ユーザーが送信要求で代替のアップロードファイル名を提供できるようにするためです。

    <input type="file" id="imgup1" name="imagefile">
      onchange="document.getElementsByName('imgfn1')[0].value = document.getElementById('imgup1').value;">
    <input type="text" name="imgfn1" value="">

アップロードされたファイル名のみを取得するには、これを使用します

fake_path=document.getElementById('FileUpload1').value
alert(fake_path.split("\\").pop())

FileUpload1 の値には、ファイルの最後の要素を分割してポップすることを避けるために、おそらく望まない偽のパスが含まれています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top