gpt4 book ai didi

javascript - 如何上传文件 - sails.js

转载 作者:搜寻专家 更新时间:2023-10-31 23:02:05 24 4
gpt4 key购买 nike

我可以下载图片和pdf,但是我不能下载文档文件(.doc .pptx .odt ...)

当下载文档(.doc .pptx .odt ...)时,仅作为 .ZIP XML 文件下载。我能做什么?

我正在使用:fill out upload file docs

upload: function (req, res) {
req
.file('avatar')
.upload({
maxBytes: 10000000
}, function whenDone(err, uploadedFiles) {
if (err) {
return res.negotiate(err);
}

// Generate a unique URL where the avatar can be downloaded.
avatarUrl = require('util').format('%s/user/avatar/%s', sails.getBaseUrl(), req.session.User.id_user),
// Grab the first file and use it's `fd` (file descriptor)
avatarFd = uploadedFiles[0].fd

var SkipperDisk = require('skipper-disk');
var fileAdapter = SkipperDisk(/* optional opts */);

// Stream the file down
fileAdapter.read(avatarFd).on('error', function (err){
return res.serverError(err);
}).pipe(res);

});
},

最佳答案

我在 Windows 上使用它,没有任何问题。

upload  : function (req, res) {
req.file('avatar').upload({
maxBytes: 10000000
}, function whenDone(err, uploadedFiles) {
if (err) {
return res.negotiate(err);
}

var avatarFd = uploadedFiles[0].fd;

res.ok(avatarFd);

});
},
download: function (req, res) {
var location = req.param('fd');
var SkipperDisk = require('skipper-disk');
var fileAdapter = SkipperDisk(/* optional opts */);
fileAdapter.read(location).on('error', function (err) {
return res.serverError(err);
}).pipe(res);
}

首先使用 /somecontroller/uploadmultipart/form-data 上传它,它将返回一个 fd 位置。并使用此 url 下载它

http://localhost:1337/somecontroller/download?fd=[fd-from-upload-return]

Controller 名称和主机名称取决于您的应用程序配置。

使用fd 完整路径只是一个例子,在以后的产品中你应该使用你自己的 Controller 从上传的文件夹中寻址到返回已经上传的文件,它通常在.tmp/上传/

关于javascript - 如何上传文件 - sails.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27608304/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com