0

我正在尝试将文件上传到 AtTask,但我继续收到非法参数异常。我已阅读文档并相信我有正确的代码,但我无法让它工作。有没有人有任何可用的 C# 代码将文件上传到 AtTask?以下是我的代码供参考:

        BinaryReader br = new BinaryReader(fs);
        int bufferSize = 40960; //Amount of data that to be read from file(in bytes)
        byte[] buffer = br.ReadBytes(bufferSize);//reading the bytes
        string str = Convert.ToBase64String(buffer);

        string boundary = "----MyAppBoundary" + DateTime.Now.Ticks.ToString("x");

        var request = (HttpWebRequest)WebRequest.Create(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}\"", "uploadedFile"));
            writer.WriteLine();
            writer.WriteLine(str);                
        }

        using (WebResponse response = request.GetResponse())
        {
            using (Stream responseStream = response.GetResponseStream())
            {
                return ReadResponse(responseStream);
            }
        }
4

1 回答 1

0

确保您明确指定您的字符集(我一直使用 UTF-8)。我从未通过 AtTask API 完成 C# 上传,但如果有帮助的话,我有(生产系统功能)Java 示例。这是我用来指定字符集的简短示例。

writer.append("Content-Disposition: form-data; name=\"" + name + "\"")
      .append(LINE_FEED);
writer.append("Content-Type: text/plain; charset=UTF-8")
      .append(LINE_FEED);
于 2014-06-23T22:28:19.417 回答