gpt4 book ai didi

javascript - 无法使用 Azure DevOps Rest API 上传图像(二进制)

转载 作者:行者123 更新时间:2023-11-30 06:15:37 24 4
gpt4 key购买 nike

我正在使用 Javascript (jQuery) 执行 POST 到 Azure DevOps rest API 以上传简单图像。但是,我无法让它工作。

https://learn.microsoft.com/en-us/rest/api/azure/devops/wit/attachments/create?view=azure-devops-rest-5.0#upload_a_binary_file 上没有太多详细的文档除了了解我之外,我们还需要为此端点发帖。

POST https://dev.azure.com/fabrikam/_apis/wit/attachments?fileName=imageAsFileAttachment.png&api-version=5.0 

这是我当前的代码。 我不知道如何将我的图像发送到此端点?我的图像以数据 uri 格式存在。

var dataURI = $("img#target").attr("src");
var url = "https://xxx.visualstudio.com/_apis/wit/attachments?fileName=image.jpg&api-version=5.0";

jQuery.ajax ({
url: url,
type: "POST",
data: dataURI,
processData: false,
contentType: "application/octet-stream;charset=utf-8",
success: function(data){
console.log(data);
}
});

感谢帮助!

最佳答案

我用PowerShell成功上传了一张图片,脚本是:

$image = [System.IO.File]::ReadAllBytes("path/to/image.png")
$apiUrl = https://dev.azure.com/_apis...."
$user = ""
$pat = "my-PAT-here"
$base64authInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user, $pat)))
Invoke-RestMethod -Uri $apiUrl -Method Post -Body $image -Headers @{Authorization=("Basic {0}" -f $base64authInfo) } -ContentType application/json (works also with application/octet-stream)

因此,我们的想法是将图像作为字节数组(作为二进制)获取,然后将其放入正文请求中。

您尝试上传的格式是dataURI,尝试将其转换为Binary,检查this代码片段。

关于javascript - 无法使用 Azure DevOps Rest API 上传图像(二进制),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56392192/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com