2016-04-04 14 views
0
add:function (req, res) 
    { 
    Airline.create({ 
     name:req.param('name'), 
     email:req.param('email'), 
     office:req.param('office'), 
     phone:req.param('phone') 
    }, 
     function airlineCreated(err, newAirline) 
    { 
     if(err) 
     { 
     console.log('Error: '+err); 
     return res.negotiate(err); 
     } 
     else 
     { 
     console.log('uploading file'); 
     req.file('file').upload({ 
      maxBytes: 10000000, 
      dirname: '../../assets/images/' 
     }, 
      function whenDone(err, uploadedFiles) 
      { 
      if (err) 
      { 
      console.log(err); 
      return res.negotiate(err); 
      } 

      // If no files were uploaded, respond with an error. 
      if (uploadedFiles.length === 0) 
      { 
      console.log("No file"); 
      return res.badRequest('No file was uploaded'); 
      } 


      // Save the "fd" and the url where the avatar for a user can be accessed 
      Airline.update(newAirline.id, 
      { 

       // Generate a unique URL where the avatar can be downloaded. 
       logoUrl: require('util').format('%s/airline/logo/%s', sails.getBaseUrl(), newAirline.id), 

       // Grab the first file and use it's `fd` (file descriptor) 
       logoFd: uploadedFiles[0].fd 
      }) 
      .exec(function (err) 
      { 
       if (err) 
       { 
       return res.negotiate(err); 
       console.log(err); 
       } 

       return res.ok(); 
      }); 

     }); 

     } 

    }); 

    } 

Yelkenleri öğreniyorum ve görüntüleri karşıya yükleme ve alma konusunda bir sorunum var. Dokümanları takip ettim ve yükleme işlemini yaptım, kod yukarıda. Aşağıda, resim yüklendikten sonra verilerimin json biçimidir., karşıya yüklenen resimleri yelkenle yüklerken gösteriliyor

{ 
    "name": "imager", 
    "email": "[email protected]", 
    "office": "img", 
    "phone": "24232", 
    "createdAt": "2016-04-04T09:06:35.404Z", 
    "updatedAt": "2016-04-04T09:06:35.438Z", 
    "id": 11, 
    "logoUrl": "http://localhost:1337/airline/logo/11", 
    "logoFd": "/Users/musaddiq/Desktop/Other proples companies/AirportAngular/airport/assets/images/6bd339f5-bc72-458c-b04c-6670bc1b59a5.jpg" 
    } 

ne ben sahip görüntülerle bireylerden oluşan bir liste, ve ben onların logolarla tüm kullanıcıları görüntülemek istediğiniz ı bir tablo görünümü var. Aşağıda benim tablo görünümüdür. Bunun için nasıl gideceğimi bilmiyorum, yelkenleri kullanarak doktorlar benim için çalışmıyor. Aşağıda

<div style="padding-top: 180px;" ng-app="airlineMod" ng-controller="airlineCtrl" class="container"> 
    <div ng-init="airlineList()"> 

    <table class="table table-responsive table-hover"> 
     <thead> 
     <tr> 
     <td> 
      Logo 
     </td> 
     <td> 
      Name 
     </td> 
     <td> 
      Office 
     </td> 
     <td> 
      Email 
     </td> 
     <td> 
      Phone Number 
     </td> 
     </tr> 
     </thead> 
     <tbody ng-repeat="airline in airlines"> 
      <tr> 
      <td> 
      <img ng-src="{{airline.logoUrl}}" class="img-responsive img-circle" width="50" height="50"> 
      </td> 
      <td> 
       {{airline.name}} 
      </td> 
      <td> 
       {{airline.office}} 
      </td> 
      <td> 
       {{airline.email}} 
      </td> 
      <td> 
       {{airline.phone}} 
      </td> 
      </tr> 
     </tbody> 
    </table> 

    </div> 
</div> 

i görüntüleri almak için kullanarak denedi kodudur

getAll:function (req, res) 
    { 
    Airline.find({}, 
     function found(err,airlines) 
     { 
     if(err) 
     { 
      return res.negotiate(err); 
     } 

     console.log("Airlines found"); 


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

     _.each(airlines,function (airline) 
     { 
      fileAdapter.read(airline.logoFd) 
      .on('error', function (err) 
      { 
       return res.serverError(err); 
      }) 
      .pipe(res); 
     }); 

     return res.send(airlines); 
     }); 
    } 

i fs.js" hata almaya devam: 262 binding.open (pathModule._makeLong (yol), TypeError: yol "bir dize olmalıdır. sadece dosyanın adı originl dosya adına otomatik oluşturulan birinden kaydediliyor değişti ve ben o zaman benim ön ucugelen başvuru logoURL kurtarmak için kullandık

cevap

0
add:function (req, res) 
    { 
    Airline.create({ 
     name:req.param('name'), 
     email:req.param('email'), 
     office:req.param('office'), 
     phone:req.param('phone') 
    }, 
     function airlineCreated(err, newAirline) 
    { 
     if(err) 
     { 
     console.log('Error: '+err); 
     return res.negotiate(err); 
     } 
     else 
     { 
     console.log('uploading file'); 
     req.file('file').upload({ 
      maxBytes: 10000000, 
      dirname: '../../assets/images', 
      saveAs : _saveAs 
     }, 
      function whenDone(err, uploadedFiles) 
      { 
      if (err) 
      { 
      console.log(err); 
      return res.negotiate(err); 
      } 

      // If no files were uploaded, respond with an error. 
      if (uploadedFiles.length === 0) 
      { 
      console.log("No file"); 
      return res.badRequest('No file was uploaded'); 
      } 

      Airline.update(newAirline.id, 
      { 

       logoUrl: require('util').format('%s/images/%s', sails.getBaseUrl(),uploadedFiles[0].filename) 

      }) 
      .exec(function (err) 
      { 
       if (err) 
       { 
       return res.negotiate(err); 
       } 

       return res.ok(); 
      }); 

     }); 

     function _saveAs(file, cb) 
     { 
      var newName = file.filename; 
      return cb(null, newName); 
     } 

     } 

    }); 

    } 
İlgili konular