Authored by htoo

hotfix(home): upload file error

phantomjs_cdnurl=http://npm.taobao.org/mirrors/phantomjs
sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
registry=http://npm.yohops.com
package-lock=false
... ...
'use strict';
const request = require('request-promise');
const fs = require('fs');
const _ = require('lodash');
const utils = require('../models/utils');
const yohoApi = global.yoho.API;
const AllowedBucket = {
sns: 'sns',
evidenceImages: 'evidenceImages'
};
const uploadImg = (req, res, next) => {
let files = req.files && req.files.file || [];
... ... @@ -16,7 +21,6 @@ const uploadImg = (req, res, next) => {
req.body.files = [];
files.forEach(file => {
let types = file.type.split('/');
if (!types || types[0] !== 'image') {
... ... @@ -27,7 +31,6 @@ const uploadImg = (req, res, next) => {
errTip = '上传文件尺寸太大!';
}
req.body.files.push(fs.createReadStream(file.path));
req.body.files.push(file.name);
});
if (errTip) {
... ... @@ -36,21 +39,28 @@ const uploadImg = (req, res, next) => {
});
}
request({
method: 'post',
url: 'http://upload.static.yohobuy.com',
formData: {
fileData: req.body.files,
project: req.body.bucket
},
json: true
}).then(function(result) {
const bucket = AllowedBucket[req.body.bucket];
if (!bucket) {
return res.json({
code: 400,
message: '参数错误'
});
}
yohoApi.postFile('', {
bucket: req.body.bucket,
file: req.body.files[0],
uid: req.user.uid.toString(),
method: 'yoho.fileupload'
}).then(function(result) {
if (result && result.code === 200) {
result.data = result.data || {};
result.data.images = _.map(_.get(result, 'data.imagesList'), (it) => {
return utils.getUploadImgAbsoluteUrl(it, req.body.bucket);
});
const images = [utils.getUploadImgAbsoluteUrl(_.get(result, 'data'), req.body.bucket)];
result.data = {
images,
imagesList: images
};
}
res.json(result);
... ...
... ... @@ -88,7 +88,7 @@ module.exports = {
infoFile: {
name: 'info',
level: 'info',
filename: '/Data/logs/yohobuy-node/info/info.log',
filename: './Data/logs/yohobuy-node/info/info.log',
maxFiles: 1,
tailable: true,
maxsize: Math.pow(1024, 3),
... ... @@ -100,7 +100,7 @@ module.exports = {
errorFile: {
name: 'error',
level: 'error',
filename: '/Data/logs/yohobuy-node/error/error.log',
filename: './Data/logs/yohobuy-node/error/error.log',
maxFiles: 1,
tailable: true,
maxsize: Math.pow(1024, 3),
... ...
... ... @@ -57,10 +57,10 @@
"sitemap": "^1.12.1",
"urlencode": "^1.1.0",
"uuid": "^2.0.2",
"yo-cli": "=2.1.13",
"yoho-express-session": "^2.0.0",
"yoho-node-lib": "=0.6.40",
"yoho-zookeeper": "^1.0.10",
"yo-cli": "=1.0.7"
"yoho-node-lib": "^0.6.46",
"yoho-zookeeper": "^1.0.10"
},
"devDependencies": {
"autoprefixer": "^8.3.0",
... ... @@ -103,8 +103,6 @@
"stylelint": "^9.2.0",
"stylelint-config-yoho": "1.3.0",
"stylelint-formatter-table": "^1.0.3",
"webpack": "^4.6.0",
"webpack-cli": "^2.0.15",
"webpack-dev-server": "^3.1.4",
"yoho-eventproxy": "^0.3.6",
"yoho-handlebars": "^4.0.6",
... ...
@import "../variables";
@import "../channel/index";
@import "activity";
... ...
@charset "utf-8";
/* 公共 */
@import "variables";
@import "common/index";
@import "plugin/index";
@import "common/dialog";
@import "pager";
@import "path-nav";
@import "share";
@import "variables";
... ...
@import "../channel/index"
@import "../variables";
@import "../channel/index";
... ...
@import "../variables";
@import "order-ensure";
@import "easypay";
@import "cart";
@import "goods-detail";
@import "cart-togetherGoods";
@import "../variables";
... ...
@import "../variables";
@import "base";
@import "index-pliffy";
@import "min-index";
@import "brand";
@import "coupon";
@import "../variables";
... ...
@import "../variables";
@import "base";
@import "default";
@import "order-block";
... ... @@ -19,7 +20,6 @@
@import "coupons";
@import "favorite";
@import "user-info";
@import "../variables";
@import "returns-detail";
@import "returns-save";
@import "me-gift";
... ...
@import "../variables";
@import "base";
@import "login";
@import "register";
... ... @@ -6,4 +7,3 @@
@import "relate";
@import "third";
@import "_bind-tip.css";
@import "../variables";
... ...
@import "../variables";
@import "search";
@import "filter-box";
@import "sort-pager";
... ... @@ -15,7 +16,6 @@
@import "top-coupon";
@import "new-arrive";
@import "good-slide";
@import "../variables";
@import "seo/index";
.product-page {
... ...
This diff could not be displayed because it is too large.