Skip to content

Commit c3ec1d1

Browse files
author
Igor Khomenko
committed
fixed issuw with CO file upload under node js
1 parent cb25de4 commit c3ec1d1

File tree

5 files changed

+48
-20
lines changed

5 files changed

+48
-20
lines changed

js/modules/qbData.js

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,13 +69,21 @@ DataProxy.prototype = {
6969
formData.append('field_name', params.field_name);
7070
formData.append('file', params.file);
7171
}else{
72-
formData = {};
73-
formData['field_name'] = params.field_name;
74-
formData['file'] = params.file;
72+
formData = {
73+
field_name: params.field_name,
74+
file: {
75+
data: params.file,
76+
name: params.name
77+
}
78+
}
7579
}
7680

77-
this.service.ajax({url: Utils.getUrl(config.urls.data, className + '/' + params.id + '/file'), data: formData,
78-
contentType: false, processData: false, type:'POST'}, function(err, result){
81+
this.service.ajax({url: Utils.getUrl(config.urls.data, className + '/' + params.id + '/file'),
82+
data: formData,
83+
contentType: false,
84+
processData: false,
85+
type:'POST',
86+
isFileUpload: true}, function(err, result){
7987
if (err) { callback(err, null);}
8088
else { callback (err, result); }
8189
});

js/qbProxy.js

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,8 @@ ServiceProxy.prototype = {
6767
var _this = this,
6868
retry = function(session) { if(!!session) _this.setSession(session); _this.ajax(params, callback); };
6969

70+
// console.log(params);
71+
7072
var ajaxCall = {
7173
url: params.url,
7274
type: params.type || 'GET',
@@ -115,7 +117,7 @@ ServiceProxy.prototype = {
115117
url: ajaxCall.url,
116118
method: ajaxCall.type,
117119
timeout: config.timeout,
118-
json: isJSONRequest ? ajaxCall.data : null,
120+
json: (isJSONRequest && !params.isFileUpload) ? ajaxCall.data : null,
119121
headers: makingQBRequest ? { 'QB-Token' : _this.qbInst.session.token, 'QB-SDK': 'JS ' + versionNum + ' - Server' } : null
120122
};
121123

@@ -157,7 +159,16 @@ ServiceProxy.prototype = {
157159
Object.keys(ajaxCall.data).forEach(function(item,i,ar){
158160
form.append(item, ajaxCall.data[item]);
159161
});
160-
}
162+
}else if (params.isFileUpload){
163+
var form = r.form();
164+
Object.keys(ajaxCall.data).forEach(function(item,i,ar){
165+
if(item === "file"){
166+
form.append(item, ajaxCall.data[item].data, {filename: ajaxCall.data[item].name});
167+
}else{
168+
form.append(item, ajaxCall.data[item]);
169+
}
170+
});
171+
}
161172
}
162173
}
163174

quickblox.min.js

Lines changed: 10 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

samples/node_js/main.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,18 @@ QB.createSession(QBUser, function(err, result) {
4242
console.log(response);
4343
}
4444
});
45+
46+
47+
// var params = {id: "577fc04fa0eb47771900001a", field_name: "photo", file: data, name: srcIMG};
48+
//
49+
// QB.data.uploadFile("Images", params, function(err, res){
50+
// if (err) {
51+
// console.log(err);
52+
// } else {
53+
// console.log(res);
54+
// }
55+
// });
56+
4557
});
4658
});
4759
}

samples/node_js/myfile.log

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)