2

我在这里发帖是因为我正在使用 SailsJS 开发 API,当我想使用 android 应用程序客户端上传文件时,我遇到了问题。

Req.files / req.file('myfile') 为空。

这是我执行上传的来源:

//FileController.js

upload: function (req, res) {
  console.log("REQ ", req.file('image'));
  console.log(req.files.image.originalFilename);
  console.log(req.files.image.path);
  req.file('image').upload({ dirname: '../../assets/images/profile/'},function (err, uploadedFiles){

    if (err){
      return res.serverError({
        code   : 500,
        status : res.i18n('error'),
        notice : res.i18n('An error has occurred.'),
        object : { error:error }
      });
    } else{
      return res.ok({
              code   : 200,
              status : res.i18n('OK'),
              notice : res.i18n('Avatar uploaded.'),
              object : uploadedFiles
          })
    }
    
  });
 }

我使用 Sails v0.11.0

注意。:我的 android 客户端应用程序与其他 nodeJS 应用程序配合得很好。

你有解决问题的想法吗?

谢谢。

4

2 回答 2

1

您如何将文件发送到服务器?你应该发送参数'image',其值等于文件({image:yourfile})

于 2015-05-02T19:47:06.513 回答
-1

上传文件时,html表单必须设置enctype为multipart/form-data。

例子:

<!-- enctype="multipart/form-data" -->
<form id="uploadForm"
    enctype="multipart/form-data"
    action="/file/upload"
    method="post">
        <input type="file" name="uploadFile" />
        <input type="submit" value="submit"/>
</form>
于 2015-05-22T06:20:55.417 回答