Man*_*ngh 7 file-upload sails.js skipper
我想使用skipper上传一个简单的文件.早些时候,可以使用req.files访问通过表单上传的文件,但是在Sails 0.10.x中,默认情况下安装了skipper,req.files是未定义的.而不是使用req.file('filename')来访问该文件.
我可以通过简单的文件上传来查看文档.但是,我希望能够在上传之前访问文件名,并且还需要
我如何使用skipper模块执行此操作,或者更有效的方法是什么?
编辑
到目前为止,我已经能够做到这一点,但我希望必须有一个更好的方法.
为了访问文件名,我使用了这个表达式
var inputFileName = req.file('inputFile')._files[0]["stream"]["filename"];
Run Code Online (Sandbox Code Playgroud)
我可以看到,如果目录不存在,则会根据上传参数中给出的文件路径和名称自动创建目录
mdu*_*sch 10
这是Skipper目前的一个问题 - 有2个请求(https://github.com/balderdashy/skipper/issues/12) - 但我不知道何时合并并可用.
要解决您的问题:
1.覆盖文件名
// save original file name
var origifile = req.file('testfile')._files[0].stream.filename;
var filename = origifile;
// check if file is existing and change filename if necessary
while(fs.existsSync(".tmp/uploads/" +filename)){
// Add 4 random chars at he beginning of the filename
filename = randString(3)+"_"+origifile;
};
req.file('testfile').upload(filename,function (err, files) {
Run Code Online (Sandbox Code Playgroud)
注意:您必须编写一个randString() - 函数
2.将上传的文件移动到您的文件夹中
在upload-callback中:
fs.rename("/tmp/uploads/"+files[0].filename, "your_folder/" +files[0].filename, function(err){
.... });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6157 次 |
| 最近记录: |