使用js

时间:2017-03-07 11:21:32

标签: javascript c# asp.net-mvc

我必须阅读.rtf文件并加入标签或类似的东西。 我的代码:

<script>
    var path = @Html.Raw(Json.Encode(Model.Opis));
    var fileDisplayArea = document.getElementById('fileDisplayArea');
    var reader = new FileReader();
    reader.readAsText(path);
    reader.onload = function(e) 
    {
        fileDisplayArea.innerText = reader.result;
    }
</script>

我读取here方法readAsText采用blob或文件。为什么它不起作用

2 个答案:

答案 0 :(得分:1)

rtf(UTF)文件位于何处?是本地还是服务器? 出于安全原因,您无法使用javascript直接在当前浏览器上读取本地文件。

用户必须选择该文件。 的 zin.html

List<Company> companyList = companies.stream().map(
               o -> new Company((Integer) o[0], (String) o[1])
).collect(Collectors.toList());

<强> zin.js

<body>
    <script type="text/javascript" src = "zin.js">
    </script>
    <input type="file">
    <button id="myBtn">Try it</button>
    <pre id="file"></pre>
</body>

检查此链接 Filesystem API

答案 1 :(得分:0)

我使用Nuget的RtfPipe包, 我的代码看起来像这样:

public ActionResult Opis(string somethingToFind)
    {
        string pathToOpis = Server.MapPath(Url.Content(@"~/Views/Home/opisy"));
        pathToOpis = pathToOpis + @"\" + somethingToFind + ".rtf";
            try 
            {
                System.IO.StreamReader file = new System.IO.StreamReader(pathToOpis);
                RtfPipe.Support.RtfSource source = file.ReadToEnd();
                MyModel.Opis = Rtf.ToHtml(source);
            }
            catch
            {
                MyModel.Opis = "some communicate";
            }

            return View(MyModel); 
  }