Yüklemeye ve görüntüye erişmeye çalışıyorum. Yükleme iyi gidiyor, görüntüyü varlıklara/görüntülere yüklüyor, ancak görüntüyü tarayıcıdan http://localhost:1337/images/image-name.jpg gibi görüntülemeye çalıştığımda bana 404 veriyor. Ben sadece arka uç amaçları için Sails.js kullanıyorum - API için ve proje - ön uç seçeneği. Ön uçum AngularJS'de. Erişim, Sails.js arka uç projesinde yüklendi
Benim yükleme fonksiyonu: Ben varlıklar/images klasöründe resmi görmekavatarUpload: function(req, res) {
req.file('avatar').upload({
// don't allow the total upload size to exceed ~10MB
maxBytes: 10000000,
dirname: '../../assets/images'
}, function whenDone(err, uploadedFiles) {
console.log(uploadedFiles);
if (err) {
return res.negotiate(err);
}
// If no files were uploaded, respond with an error.
if (uploadedFiles.length === 0) {
return res.badRequest('No file was uploaded');
}
// Save the "fd" and the url where the avatar for a user can be accessed
User
.update(req.userId, {
// Generate a unique URL where the avatar can be downloaded.
avatarUrl: require('util').format('%s/user/avatar/%s', sails.getBaseUrl(), req.userId),
// Grab the first file and use it's `fd` (file descriptor)
avatarFd: uploadedFiles[0].fd
})
.exec(function (err){
if (err) return res.negotiate(err);
return res.ok();
});
});
}
- Böyle bir şey - 54cd1fc5-89e8-477d-84e4-dd5fd048abc0.jpg
http://localhost:1337/assets/images/54cd1fc5-89e8-477d-84e4-dd5fd048abc0.jpg-404
verirhttp://localhost:1337/images/54cd1fc5-89e8-477d-84e4-dd5fd048abc0.jpg - Bu uygulama erişimler doğrudan erişilen olmayan kaynaklara nedeniyle olur 404
Çok teşekkür ederim. Sağladığınız eğiticiyi takip ederek bir yükleme yapmayı ve resme erişmeyi başardım. Bana gerçekten yardımcı oldu. Sadece bir küçük şey not etmek - yüklenen dosya kopyaları varlıktan '.tmp' klasörüne kopyalanırken, klasör yapısının - .tmp/public/images/uploads 'yoksa, önce ya da' fs oluşturmamız gerekiyor. Hata yakalanmadığında uygulamayı bozar. –
Gerçekten de! Ek işlevler için [mkdirp] (https://www.npmjs.com/package/mkdirp) modülünü veya [fs-extra] (https://www.npmjs.com/package/fs-extra) kullanabilirsiniz.) Tek bir komut kullanmıyorsa bir klasör oluşturmak. Ya da sadece bu [mantıksal çözümü] kullanın (http://stackoverflow.com/a/21196961/1100528). – galactocalypse