每當我嘗試通過REST調用附加TFS WorkItem時,附件大小爲0KB。TFS附件大小0KB通過REST調用
首先我使用下面的代碼上傳附件存儲中的附件。
https://{instance}/DefaultCollection/_apis/wit/attachments?api-version=1.0&filename="{fileName}"
我通過休息調用發送字節數組中的數據。在此之後,我附上工作性質的附件。
有附加附件附件的成功,但大小爲零KB 是與TFS我做錯了的問題還是什麼?
我使用的編程C#語言和REST夏普訪問VSTS的API
Dim restClient = New RestClient("Server URL")
restClient.Authenticator = New HttpBasicAuthenticator("UserId", "Password")
Dim request = New RestRequest("API_Name", Method.POST)
request.AlwaysMultipartFormData = False
request.AddParameter(String.Format("{0}; charset=utf-8", contentType), File.ReadAllBytes(filePath), ParameterType.RequestBody)
request.RequestFormat = DataFormat.Json
Dim response As IRestResponse = restClient.Execute(request)
Return response
我以字節爲單位的文件數據傳送。
使用WorkItem附加附件。
Dim restClient = New RestClient(ACCESS_URL)
restClient.Authenticator = New HttpBasicAuthenticator(USER_NAME, PASSWORD)
Dim request = New
RestRequest("CollectionName}/_apis/wit/workitems/{WorkItem_ID}", Method.PATCH)
request.AddParameter("application/json-patch+json; charset=utf-8",
"post_Data", ParameterType.RequestBody)
request.RequestFormat = DataFormat.Json
Dim response As IRestResponse = restClient.Execute(request)
Return response
Post_Data是採取這種類型的數據
[{
"op": "add",
"path": "/relations/-",
"value": {
"rel": "AttachedFile",
"url": "AttachementURI",
}]
有什麼 「的contentType」 您在使用你的代碼?我用「application/octet-stream」內容類型測試了你的代碼,它工作正常。附件大小是正確的,它可以成功打開。 –
是我使用應用程序/八位字節流,但我的附件大小始終是0K,您是否使用我已發佈的相同的代碼或您做出一些更改? –
是的,幾乎相同。我在答案中添加了我的代碼供您參考。 –