上传单个 json 文件作为工作项输入时出错 (DesignAutomation)
Error uploading single json file as input as workitem (DesignAutomation)
我可以使用输入文件成功编译设计自动化 Web 应用程序,如 RVT 和 Json 所附。
但我只需要传递一个 Json 文件,作为 workItem 的输入。在ForgeDesignAutomation.js中,我是这样写的。但看起来 inputfile 需要被 stringified 。请帮我更正下面的语法。
这里 'inputFile' 是一个 Json 文件,我没有上传任何 rvt 文件,因为我的插件只需要一个 json 文件作为输入,它是字符串数组和 return 一个 rfa 文件作为输出。
如果 'inputFile' 只是一个 .json 文件,如何对其进行字符串化?
function startWorkitem()
{
var inputFileField = document.getElementById('inputFile');
if (inputFileField.files.length === 0) { alert('Please select an input file'); return; }
if ($('#activity').val() === null) { alert('Please select an activity'); return };
var file = inputFileField.files[0];
let activityId = $('#activity').val();
if (activityId == null)
{
alert('Please select an activity'); return
};
if (activityId.toLowerCase() === "myfirst_da4ractivity+dev")
{
startConnection(function () {
var formData = new FormData();
formData.append('inputFile', file);
//file is not uploading-------I think I could not pass the Json file.
//I need to pass connection ID here too.
writeLog('Uploading input file...');
$.ajax({
url: 'api/forge/designautomation/workitems',
dataType: 'json',
data: formData,
processData: false,
contentType: false,
type: 'POST',
success: function (res)
{
writeLog('Workitem started: ' + res.workItemId);
}
});
});
}
}
根据你的问题,你有一个客户端,它提交给你的服务器,然后提交给 Forge。
这样一来,您提交给 api/forge/designautomation/workitems
端点的方式将根据它对数据的期望方式而有所不同。因为你有一个 .json
文件,你不需要 stringfy 是,它作为文件传递。如果您决定将其作为数据发送,则 stringfy 并调整为 data: { your JSON data here },
假设文件是从您的客户端发送到您的服务器的,然后您可以将该 JSON 文件提交给 Forge 作为您的 Workitem 的输入。
我可以使用输入文件成功编译设计自动化 Web 应用程序,如 RVT 和 Json 所附。 但我只需要传递一个 Json 文件,作为 workItem 的输入。在ForgeDesignAutomation.js中,我是这样写的。但看起来 inputfile 需要被 stringified 。请帮我更正下面的语法。
这里 'inputFile' 是一个 Json 文件,我没有上传任何 rvt 文件,因为我的插件只需要一个 json 文件作为输入,它是字符串数组和 return 一个 rfa 文件作为输出。
如果 'inputFile' 只是一个 .json 文件,如何对其进行字符串化?
function startWorkitem()
{
var inputFileField = document.getElementById('inputFile');
if (inputFileField.files.length === 0) { alert('Please select an input file'); return; }
if ($('#activity').val() === null) { alert('Please select an activity'); return };
var file = inputFileField.files[0];
let activityId = $('#activity').val();
if (activityId == null)
{
alert('Please select an activity'); return
};
if (activityId.toLowerCase() === "myfirst_da4ractivity+dev")
{
startConnection(function () {
var formData = new FormData();
formData.append('inputFile', file);
//file is not uploading-------I think I could not pass the Json file.
//I need to pass connection ID here too.
writeLog('Uploading input file...');
$.ajax({
url: 'api/forge/designautomation/workitems',
dataType: 'json',
data: formData,
processData: false,
contentType: false,
type: 'POST',
success: function (res)
{
writeLog('Workitem started: ' + res.workItemId);
}
});
});
}
}
根据你的问题,你有一个客户端,它提交给你的服务器,然后提交给 Forge。
这样一来,您提交给 api/forge/designautomation/workitems
端点的方式将根据它对数据的期望方式而有所不同。因为你有一个 .json
文件,你不需要 stringfy 是,它作为文件传递。如果您决定将其作为数据发送,则 stringfy 并调整为 data: { your JSON data here },
假设文件是从您的客户端发送到您的服务器的,然后您可以将该 JSON 文件提交给 Forge 作为您的 Workitem 的输入。