Plik 是一个以 Golang 编写的可扩展且友好的临时文件上传系统。
从 Release 页面下载安装
要运行 plik,它非常简单:
$ wget https://github.com/root-gg/plik/releases/download/1.3.1/plik-1.3.1-linux-amd64.tar.gz
$ tar xzvf plik-1.3.1-linux-64bits.tar.gz
$ cd plik-1.3.1/server
$ ./plikd
现在拥有一个在 http://127.0.0.1:8080 上运行的功能齐全的 Plik 实例。可以编辑 server/plikd.cfg 以根据需要调整配置(端口、ssl、ttl、后端参数等)
从源代码编译
要从源代码编译 plik,需要在系统上安装 golang 和 npm。
首先,通过 go 获取项目和库:
$ go get github.com/root-gg/plik/server $ cd $GOPATH/src/github.com/root-gg/plik/
构建并运行它:
$ make $ cd server && ./plikd
Plik 附带了一个强大的 golang 多平台 cli 客户端(可在 Web 界面中下载):
Usage:
plik [options] [FILE] ...
Options:
-h --help Show this help
-d --debug Enable debug mode
-q --quiet Enable quiet mode
-o, --oneshot Enable OneShot ( Each file will be deleted on first download )
-r, --removable Enable Removable upload ( Each file can be deleted by anyone at anymoment )
-S, --stream Enable Streaming ( It will block until remote user starts downloading )
-t, --ttl TTL Time before expiration (Upload will be removed in m|h|d)
-n, --name NAME Set file name when piping from STDIN
--server SERVER Overrides plik url
--token TOKEN Specify an upload token
--comments COMMENT Set comments of the upload ( MarkDown compatible )
-p Protect the upload with login and password
--password PASSWD Protect the upload with login:password ( if omitted default login is "plik" )
-a Archive upload using default archive params ( see ~/.plikrc )
--archive MODE Archive upload using specified archive backend : tar|zip
--compress MODE [tar] Compression codec : gzip|bzip2|xz|lzip|lzma|lzop|compress|no
--archive-options OPTIONS [tar|zip] Additional command line options
-s Encrypt upload usnig default encrypt params ( see ~/.plikrc )
--not-secure Do not encrypt upload regardless of ~/.plikrc configurations
--secure MODE Archive upload using specified archive backend : openssl|pgp
--cipher CIPHER [openssl] Openssl cipher to use ( see openssl help )
--passphrase PASSPHRASE [openssl] Passphrase or '-' to be prompted for a passphrase
--recipient RECIPIENT [pgp] Set recipient for pgp backend ( example : --recipient Bob )
--secure-options OPTIONS [openssl|pgp] Additional command line options
--update Update client
-v --version Show client version
据我所知,Herokus Ephemeral文件系统只允许您写入临时文件夹。当停止或重新启动创建文件的测功机时,该文件夹中创建的文件将被丢弃。 我不明白的是,如果dyno没有停止或重新启动会发生什么?一段时间后,文件还会被丢弃吗? 我们目前正在构建一个系统,该系统可以生成pdf文件并通过邮件转发(或者您可以下载该文件)。在发送/下载pdf文件后,我是否需要自己删除它们,或者我可以依靠Heroku自
接口说明 上传文件(临时存放) 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 API地址 POST /wish3dearth/api/scene/v1.0.0/uploadTempFile 是否需要登录 是 请求字段说明 参数 类型 请求类型 是否必须 说明 token string header 是 当前登录用户的TOKEN sceneId stri
接口说明 上传文件(临时存放) 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 如开启https功能,请求地址的协议应改为https,如:https://www.example.com/wish3dearth/api/access/v1.0.0/getLicenseInfo API地址 POST /wish3dearth/api/scene/v1.0.0
问题内容: 我正在将图像上传到servlet。通过检查文件头中的幻数,仅在服务器端验证上传的文件是否为图像。在将表单提交给Servlet之前,有什么方法可以在客户端验证扩展?我一按回车就开始上传。 我在客户端使用Javascript和jQuery。 更新: 我最终通过服务器端验证结束了工作,该验证读取字节,如果不是图像,则拒绝上传。 问题答案: 可以仅检查文件扩展名,但是用户可以轻松地将virus
我正在创建一个Zend Framework应用程序,用户可以在其中上载配置文件图像。可接受的文件类型为png、jpg和gif。图像最终被存储为用户id和文件扩展名。 我想知道的是,假设用户上传png或gif文件,将文件扩展名更改为jpg是否安全? 这样,所有的配置文件图像都将具有相同的文件扩展名,我只是不确定这样更改文件类型是否是一个好主意。
我正在使用Android中的PhoneGap从画廊上传图像,但我想做的是获取文件名及其扩展名,我无法从imageuri获取该文件名和扩展名,所以有人能告诉我如何找到吗 我的是所以有没有办法通过使用这个来获取fileEntry并读取文件名和扩展名?
临时文件 # tempfile_TemporaryFile.py import os import tempfile print('Building a filename with PID:') filename = '/tmp/guess_my_name.{}.txt'.format(os.getpid()) with open(filename, 'w+b') as temp: pr
问题内容: 当我尝试处理文件上传时,是否应该基于文件MIME类型或文件扩展名运行验证? 这两种文件验证方式的优缺点是什么? 而且,我应该关注其他任何安全问题吗? 这些天来,我一直依靠MIME类型,但是这篇文章中投票最多的答案是 PHP中的文件上传问题说: 永远不要依赖浏览器提交的MIME类型! 问题答案: 好的,对于这里的所有热心人士,我都在讲一些关于“螺丝扩展,检查MIME!FILEINFO R