【发布时间】:2021-05-01 09:40:18
【问题描述】:
我正在尝试将图像从橱柜发布到 API
API 被拒绝调用 Content-Type": "multipart/form-data:
{ http代码:“405”, httpMessage:“方法不允许”, message: "PUT, POST 需要输入正文。", 错误类:“异常” }
API 被拒绝调用没有 Content-Type": "multipart/form-data:
{ http代码:“400”, httpMessage:“错误请求”, 消息:“JSON 输入无效。错误消息:语法错误”, 错误类:“无效参数异常” }
当前代码是:
function ItemImageCreation(){
var itemId = 4;
var payload;
var StringUrl = "https://someURL";
var boundary = '--' + uuidv4();
var files = file.load(1056); // getting the file
var fileContents = files.getContents(); // getting the content
var decodedStr = fromBaseUTF(fileContents); // conversion to Base64
var form_data = "{\"description\": \"Test Image\",\n\"ordering\": 1\n}";
// add the data field
payload = "\n" + boundary + "\n"
+ 'Content-Disposition: form-data; name=\"data\"\n\n'
+ form_data + "\n"
+ boundary + "\n"
+ 'Content-Disposition: form-data; name=\"image\"\n'
+ 'Content-Type: image/jpeg\n\n'
+ decodedStr + "\n"
+ boundary + "--\n\n";
log.debug("payload", payload);
var Header = {"Authorization": "Bearer " + token,
"Content-Type": "multipart/form-data; boundary=" + boundary
};
try {
var response = https.post({
url: StringUrl,
body: payload,
headers: Header
});
var newSFID = JSON.parse(response.body);
log.debug("Item Image creation", newSFID);
} catch (e) {
log.error({ title: 'Failed to submit file', details: (e.message || e.toString()) + (e.getStackTrace ? (' \n \n' + e.getStackTrace().join(' \n')) : '') });
log.error('ERROR Item Image Creation', JSON.stringify(e));
}
}
我正在使用预定的脚本,你看到什么问题了吗?或者有没有办法知道 netsuite 发送了什么?
【问题讨论】:
标签: multipartform-data netsuite suitescript2.0