?:0:尝试对字段 'fileSize' 执行算术运算(零值)

?:0: attempt to perform arithmetic on field 'fileSize' (a nil value)

如何解决错误或可能的解决方法?

伙计们,我使用 Lua 语言开发了可以集成的插件,或者 运行 来自 Adob​​e 的 LightRoom Classic。目前我需要上传或发送文件到服务器,但我不能。每次我调用 POST API 时,它是 multipart/form-data 错误弹出窗口“?:0:尝试在字段 'fileSize' 上执行算术(零值)”。甚至 API 都没有被调用,这个错误会在 API 调用之前弹出。调试后我可以确定可能的问题是在创建 mimeChunks 文件类型时。

我已经开发了如下代码,任何人都可以帮助我提出建议,以便我能够解决问题吗?

local filePath = assert("C:\Users\Ankit\Desktop\Hangman.PNG")
local fileName = LrPathUtils.leafName(filePath)

local mimeChunks = {}
mimeChunks[#mimeChunks + 1] = {
  name = 'api_sig',
  value = "test value"
}
mimeChunks[#mimeChunks + 1] = {
  name = "file",
  filePath = filePath,
  fileName = fileName,
  contentType = "application/octet-stream"
}

local postUrl = "API endpoint"
local result, hdrs = LrHttp.postMultipart(postUrl, mimeChunks)
if result then
  LrDialogs.message("Form Values", result)
else
  LrDialogs.message("Form Values", "API issue")
end

最终图像或文件路径本身导致了问题,没有与此功能相关的指示或文章,但是“附加反斜杠”肯定会解决.请查看下面的代码以了解更详细的分叉,它传递动态 selected 文件或图像路径。

local function uploadFile(filePath)
    local fileName = LrPathUtils.leafName( filePath )
    local mimeChunks = {}
    mimeChunks[ #mimeChunks + 1 ] = { name = 'api_sig', value = "test value"}
    mimeChunks[#mimeChunks + 1] = {
        name = "file",
        filePath = filePath,
        fileName = fileName,
        contentType = "image/jpeg"  --multipart/form-data  --application/octet-stream
    }
    import "LrTasks".startAsyncTask( 
        function()
            local postUrl = "http://cms.local.com/api/v1/upload"
            local result, hdrs = LrHttp.postMultipart(postUrl, mimeChunks)
            if result then
                LrDialogs.message("Image uploaded.", result)
            else
                LrDialogs.message("Error", "API issue")
            end
        end
    )
end

上面的uploadFile方法会自动调用API和post表单数据收集。下面的代码用于调用 uploadFile 函数,其中 select 目录中的所有图像。

for p, photo in ipairs(LrApplication.activeCatalog()) do
    uploadFile(assert(photo:getRawMetadata('path')));
end

以上代码将帮助您使用 Adob​​e 的 LightRoom 插件select分类日志。