Ham*_*med 5 javascript angularjs
我在Angular JS中使用库Angular File Uploader。这filters就是允许将文件类型设置为上载的方式。我这样做像:
uploader.filters.push({
name: 'imageFilter',
fn: function (item /*{File|FileLikeObject}*/, options) {
var type = '|' + item.type.slice(item.type.lastIndexOf('/') + 1) + '|';
return '|doc|txt|docx|xml|pdf|djvu'.indexOf(type) !== -1;
}
});
Run Code Online (Sandbox Code Playgroud)
问题是用户可以更改扩展文件,例如,更改*.exe为*.pdfAngular Uploader并将其添加到队列上传之后。
以及如何在模板中显示信息,PDF和txt文件在哪里?
您已经确定了将文件上传到服务器的主要问题之一(恭喜!):)
抛开所有的玩笑和轻率,我还没有听说过在上传之前使用 AngularJS 验证文件的优雅或可靠的方法(如您所知,AngularJS 受到 JavaScript 原生提供的 API 的限制,因为 AngularJS 是一个 JavaScript 框架。)
作为“How to check file MIME type with javascript before upload?”的答案 提示,上传前可以在客户端检查文件的MIME类型。
但是,由于多种原因,检查客户端上的文件存在限制,包括:
这就是为什么最好的选择是检查服务器上的文件。
一种方法(可能有多种方法)是使用 PHP,并执行类似于“How to check file types of uploaded files in PHP?”的答案的操作。建议,即:
查看mime_content_type或Fileinfo。这些是内置的 PHP 命令,用于通过查看文件的内容来确定文件的类型。另外查看一下上面两页的评论,还有一些其他好的建议。
就我个人而言,我很幸运地使用了本质上是系统的东西(“file -bi $uploadedfile”),但我不确定这是否是最好的方法。
依靠服务器(而不是客户端)检查文件的优点是您仅受服务器可以使用的 API 的限制(客户端用户无法控制)。
| 归档时间: |
|
| 查看次数: |
1441 次 |
| 最近记录: |