【问题标题】:Reading the name of a File with Javascript/jQuery使用 Javascript/jQuery 读取文件名
【发布时间】:2017-09-04 05:55:52
【问题描述】:

目前我正在制作一个用作文本编辑器的程序。我有一个部分,您可以在其中重命名标题,当您保存时,它会使用 document.getElementById('title').innerHTML 并使其成为 .txt 名称。

例如:

如果标题 div 的 innerHTML 为“Document”,则该文件将被称为“Document.txt”。

我的问题是我希望它也上传一个文件并取其文件名。

例如:

我上传了一个名为“Document.txt”的文件,该函数将标题设为“Document”。 (我使用.replace('.txt','') 使其不在标题中显示,并使用+= '.txt' 使文件在保存时实际上是.txt。

有人知道如何使用<input type='file'> 将上传文档的文件名设置为在其他地方使用的字符串吗?

这里有一些代码可以透视它:

var id = function(id){return document.getElementById(id)};

function readText(that)
    {
        var reader = new FileReader();
        reader.onload = function(e)
            {  
                var output = e.target.result,
                    name = FILENAMEFIND();
                id('page').innerHTML = output;
                id('title').innerHTML = name;
            }
        reader.readAsText(that.files[0]);
    }

【问题讨论】:

  • 是的,你是对的,但是它包含我不想要的C:\fakepath\,任何线索如何删除它?我想只有id('upfile').replace('C:\fakepath\','') 可以工作,但文件会一直在 C 盘吗?知道怎么做吗?
  • 不清楚你想要达到什么目的?
  • 在下面回答...

标签: javascript jquery html


【解决方案1】:

好的,我自己想通了:

var id = function(id){return document.getElementById(id)},
    input = id("upfile"),
    file = input.value.split("\\"),
    fileName = file[file.length-1];   // Take purely the file name
    id('title').innerHTML = fileName; // Outputted to title div

【讨论】:

    猜你喜欢
    • 2013-12-23
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-03
    • 2014-12-15
    • 1970-01-01
    相关资源
    最近更新 更多