上传/下载之前/之后的客户端(javascript / jQuery)文件操作

时间:2009-12-17 13:36:13

标签: javascript jquery file-upload mime

我只是在看了一会儿,看了一会儿,画了一个空白。我想看看这是否有可能,因为到目前为止我看不到办法。

我希望在上传之前在本地(使用现有库的浏览器)加密文件。然后我需要检索它并在将文件呈现给用户之前解密它。具体来说,我无法在存储之前将文件发送到服务器进行加密。加密/解密需要在客户端执行。

以下是我需要做的粗略流程:

  1. 使用查找文件小部件呈现用户。
  2. 将文件读入客户端脚本(即在本地加载)
  3. 在客户端加密。
  4. 上传加密版本,刷新客户端并存储数据。
  5. 反过来说:

    1. 下载存储的加密版文件。
    2. 在客户端解密。
    3. 将解密文件作为下载文件提交给用户。
    4. 我一直在寻找客户端上的某种MIME编码(类似于电子邮件附件在以纯文本形式发送之前进行MIME编码的方式)。我对jQuery方法特别感兴趣,因为这是我的应用程序的其余部分所使用的,但是普通的旧javascript会很好。

      非常感激地收到任何想法或指示。这是我正在考虑假期的那个。所以,提前感谢任何评论。

4 个答案:

答案 0 :(得分:4)

由于浏览器的安全限制,使用普通的Javascript或JQuery无法做到这一点。

你最好的选择可能是采用基于Flash的开源上传组件,如SWFUpload(Flash可以更多或客户端),并在ActionScript中添加加密例程。创建Java小程序或ActiveX控件也是有效的选项。

根据我们所讨论的加密类型,也可能存在现成的组件。

答案 1 :(得分:3)

你不能用JavaScript做到这一点。当然,您可以简单地使用SSL(例如,通过HTTPS)。所有这一切都很容易,经过充分测试。否则,您将不得不使用非标准的东西,如Flash,Java或ActiveX。

答案 2 :(得分:1)

接受的答案在这里已经过时了。现在可以使用HTML5文件API和类似CryptoJS library的内容执行此操作。

答案 3 :(得分:0)

I can't speak to other browsers,但我知道这应该可以在Firefox中使用file manipulation api从用户上传/下载文件到客户端代码(可能会被操作的地方)和标准ajax从客户端代码上传/下载文件到服务器。