-5

我有一个客户正在使用的 Web 应用程序。在幕后,我在客户端机器上生成日志(因为 JavaScript 或 jQuery 正在客户端运行),但我希望该日志文件能够到达服务器。

我不必将输入类型用作文件。
最后一点:我想将这个/这些文件推送到服务器,而用户不必知道这些文件。

我怎样才能做到这一点?有没有我可以使用的插件?

4

2 回答 2

1

如果用户没有先选择文件,您就无法从客户端上传文件。这是设计使然,无法绕过。

由于您自己(以某种方式)创建日志文件,只需将发布到这些文件的信息的副本保存在本地变量或某种本地存储中,然后发送。这是一个简单的 AJAX 调用来做到这一点......

function sendLog(logdata) {
    $.ajax({
        url: "savelog.php/aspx/whatever",
        type: "post",
        data: {
            log: logdata
        }
    }).success(function() {
        alert("it worked!!");
    });
}

如果您无法将日志数据保存到本地变量或存储中,那么在没有用户干预的情况下,我看不到任何这样做的方法。

于 2013-09-10T09:56:00.570 回答
1

form.submit()如果表单包含输入类型文件,则可以通过 javascript 执行此操作,然后该文件将上传到相应的服务器文件夹。

否则,您还可以使用 Ajax 使用诸如http://code.google.com/p/upload-at-click/ 之类的库上传文件

最好的解决方案是使用FileReader API

于 2013-09-10T09:40:54.267 回答