2

SailsJS で API を開発しているため、ここに投稿します。また、Android アプリ client でファイルをアップロードしようとすると、問題が発生します。

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

ファイルをアップロードするとき、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 に答える