web-dev-qa-db-ja.com

クローム、サファリ、オペラなどのWebkitブラウザでc fakepathを削除する方法は?

Chrome、Safari、operaなどのWebkitブラウザーでc fakepathを削除する方法

in IEそしてFirefoxはファイル名のみを表示し、OKです

しかし、Chrome、オペラ、サファリでは。 C:\ fakepath\700.jpgを示しています

Chrome、オペラ、サファリでC:\ fakepath \を削除するにはどうすればよいですか?.

<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.js"></script>
<style type="text/css">
.inputWrapper {
    overflow: hidden;
    position: relative;
    cursor: pointer;
    /*Using a background color, but you can use a background image to represent a button*/
    background-color: #DDF;
}
.fileInput {
    cursor: pointer;
    height: 100%;
    position:absolute;
    top: 0;
    right: 0;
    /*This makes the button huge so that it can be clicked on*/
    font-size:50px;
}
.hidden {
    /*Opacity settings for all browsers*/
    opacity: 0;
    -moz-opacity: 0;
    filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0)
}
</style>

<script type="text/javascript">//<![CDATA[ 
$(window).load(function(){
$(function() {
    $(".inputWrapper").mousedown(function() {
        var button = $(this);
        button.addClass('clicked');
        setTimeout(function(){
            button.removeClass('clicked');
        },50);
    });

    $('input[type=file]').change(function() {
        var $this = $(this);
        $this.parent().find('span').text($this.val());
    });
});
});//]]>  
</script>
<div class="inputWrapper" id="inputWrapper" style="height: 56px; width: 128px;">
    <input class="fileInput hidden" type="file" name="file2"/>
    <span></span>
</div>
16
user3215821

正規表現を使用して、最後の\の前(および含む)をすべて削除します。

 var path = "C:\\fakepath\\example.doc";
 var filename = path.replace(/^.*\\/, "");
 console.log(filename);

明らかに、ファイル入力からpathを取得します。

24
Quentin

そして、最初のファイルの名前を取得します。

document.getElementById("yourInputElement").files[0].name

複数のファイル名を取得する場合は、filesを反復処理する必要があります。

16
Fusion

次のようなものがあなたのために働くはずです:

<script type="text/javascript">
$(function() {
    $(".inputWrapper").mousedown(function() {
        var button = $(this);
        button.addClass('clicked');
        setTimeout(function(){
            button.removeClass('clicked');
        },50);
    });
    $('input[type=file]').on('change', function(e) {
        var filename = $(e.currentTarget).val().replace(/^.*\\/, "");
        $this.parent().find('span').text(filename);
    });
});
</script>
1
Lewis Buckley