【问题标题】:SailsJS File upload , Req.file is empty when upload with AndroidSailsJS文件上传,Android上传时Req.file为空
【发布时间】:2015-05-02 13:07:43
【问题描述】:

我在这里发帖是因为我正在使用 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 应用程序配合得很好。

你有解决问题的想法吗?

谢谢。

【问题讨论】:

标签: android file-upload upload sails.js skipper


【解决方案1】:

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

【讨论】:

  • 嗨,我用我的 android 应用程序发送文件,如下所示:Future uploading = Ion.with(MainActivity.this) .load("example.com/user/upload") .setMultipartFile("image", f ) .asString() .withResponse() .setCallback(new FutureCallback>() { } });
  • 用postman试试看问题出在服务端还是客户端
  • 为什么我可以用 postman 看到它? ...我可以用邮递员上传吗??? .... 否则这是服务器端终端中的打印跟踪:REQ { _fatalErrors: [], _files: [], timeouts: { untilFirstFileTimer: { _idleTimeout: 10000, _idlePrev: [Object], _idleNext: [Object], .... _files 数组为空 --> 我不明白。
  • files 数组为空 => 找不到文件。您是否尝试过使用邮递员发布请求?让您作为“帖子”发送到当前网址和文件
  • 当我仅使用文本参数进行测试时,发布请求成功。但是当我想用android客户端发送的文件进行测试时,这会失败。
【解决方案2】:

上传文件时,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>

【讨论】:

    猜你喜欢
    • 2017-12-02
    • 2020-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多