0

无论如何下载文本文件并使用 HTML5/JavaScript 显示其内容?我更愿意将其保存到内存位置,但将其保存到临时文件将是第二种选择。

- 更新 -

根据下面的声明。到目前为止,这是我使用 AngularJS 从 Atmos ObjectStore 获取文件的结果。我不清楚如何呈现文件内容。

var app = angular.module('MyTutorialApp',[]);

app.controller("MainController", function($scope, $http) {

    console.log("starting download");
    $scope.downloadedFile = null;

    var config = {headers:  {
        'Accept': '*/*'
    }};

    $http.get('https://some_path/theFile.txt?uid=myUUID&expires=1396648771&signature=mySignature', config)
        .success(function(data) {
            $scope.downloadedFile = data;
            console.info(data);
            console.log("finished download");
        });
});
4

2 回答 2

1

您可以使用 HTML5 + Javascript 做到这一点!我做了这个例子

HTML 代码:

<input id="myFile" type="file" value="Select a text file" />
<br />
<h3>Results:</h3>
<div id="myContents"></div>

Javascript代码:

$("#myFile").on("change", function(e) {
    var reader = new FileReader();
    reader.onload = function(e) {
        $("#myContents").html(this.result.replace(/\n/g, "<br />"));
    };
    reader.readAsText(e.target.files[0]);
});

编辑:

您已经编辑了您的问题,现在我看到您想从您的服务器获取 TXT 文件。好吧,我不使用 Angular.JS,但在 jQuery 中,它会是这样的:

HTML:

<div id="myServerContents"></div>

Javascript/jQuery:

$.ajax({
    url: "myFile.txt",
    data: {},
    async: false,
    success: function (response) {
        $("#myServerContents").html(response.replace(/\n/g, "<br />"));
    },
    dataType: "text/plain"
});
于 2014-04-04T03:07:08.927 回答
1

从客户端获取 txt 文件内容可以通过多种方式完成,一种是使用 JQuery .get().load(),但我不确定您是否使用 JQuery。

另一个简单的选择是使用 iframe,举个例子:

<iframe src='http://yourSite.com/yourDir/logs/myTextFile.txt' />

JSFIDDLE DMEO

于 2014-04-04T02:55:07.467 回答