C# API サンプルの修正版を使用して、既存のワークフロント (AtTask) タスクにタスクを追加しています。また、添付ファイルをアップロードおよびダウンロードしたいと考えています。
ドキュメントから、アップロードは 2 段階のプロセスであることがわかります。ステップ 1 でファイルをアップロードし、ステップ 2 でアップロードしたファイルをタスクに添付します。2 番目のステップの実行方法をある程度理解しています。ファイル名、ハンドル (アップロードから)、オブジェクト タイプ (TASK)、オブジェクト ID、および currentVersion を含む JSON トークンを投稿します。私が理解していないのは、ファイルの実際のアップロードであるステップ 1 です。
タスクに添付する必要がある PDF ファイルを作成しています。タスクが完了すると、ダウンロードする必要がある新しいドキュメントが追加されます。
アップロードまたはダウンロードを実行するための C# コードを持っている人はいますか?
これまでの私のコードは次のとおりです。
public JToken DoUpload(string path, string opportunityID, string description, params string[] parameters)
{
List<string> list = parameters.ToList();
if (!path.StartsWith("/"))
{
path = "/" + path;
}
string fullUrl = url + path + ToQueryString(parameters);
string boundary = "------" + DateTime.Now.Ticks.ToString("x");
WebRequest request = HttpWebRequest.CreateDefault(new Uri(fullUrl));
request.ContentType = "multipart/form-data; boundary=" + boundary;
request.Method = "POST";
using (var requestStream = request.GetRequestStream())
{
using (var writer = new StreamWriter(requestStream))
{
writer.WriteLine(string.Format("Content-Disposition: form-data; name=\"{0}\" filename=\"{1}\"", "uploadedFile", "RFQ" + opportunityID + ".html"));
writer.WriteLine("Content-Type: text/html; charset=UTF-8");
writer.WriteLine();
writer.WriteLine(description);
using (WebResponse response = request.GetResponse())
{
using (Stream responseStream = response.GetResponseStream())
{
return ReadResponse(responseStream);
}
}
}
}
}