2013-10-09 96 views
0

我試圖部署文物使用他們的REST API來artifactory的,但是我所有的文件,最終有Artifactory的REST部署搞砸了上傳

--------------- ---------------- 28947758029299 Content-Disposition:form-data; NAME = 「test.txt的」; filename =「new2.txt」Content-Type: application/octet-stream

追加到文件中。這裏是我的代碼(記住這只是我測試的概念...代碼將被清理後,我獲得了成功)

var uriString = "artifactoryuri"; 
    var uri = new Uri(uriString); 
    var credentialCache = new CredentialCache{{uri, "Basic",new NetworkCredential("UN", "PW")}}; 
    var restClient = new RestClient(uriString); 
    var restRequest = new RestRequest(Method.PUT){Credentials = credentialCache}; 
    restRequest.AddFile("test.txt", @"pathto\new2.txt"); 
    var restResponse = restClient.Execute(restRequest); 

我該如何解決這個問題?這是因爲它是一個文本文件,artifactory傾向於存儲可執行文件等?如果是這樣,我可以忍受。這將用於當前上傳chm文件。

+0

你正在嘗試POST「form」數據;整個請求主體應該是您的文件的內容 – noamt

+0

@noamt但是,根據文檔,我想要PUT數據。我所添加的是文件? –

+0

這是由'AddFile'方法引起的 - RestSharp'默認會創建一個multipart/form請求。我無法找到一個很好的解決方案來防止這種行爲,儘管很多人都在問這個問題。你可以看看http://stackoverflow.com/questions/10158977/can-restsharp-send-binary-data-without-using-a-multipart-content-type和https://groups.google.com/論壇/#!話題/ restsharp/A3zv2DEZEDw –

回答