【问题标题】:How save MultipartFormDataContent into a file.txt?如何将 MultipartFormDataContent 保存到 file.txt 中?
【发布时间】:2022-08-16 10:50:09
【问题描述】:

我正在尝试将 MultipartFormDataContent 保存在 file.txt 中。但我做不到它的工作原理。

这是我的代码:

MultipartFormDataContent content2 = new MultipartFormDataContent();
private async void savePhotos()
{
    string testPath = Android.App.Application.Context.GetExternalFilesDir(\"\").AbsolutePath + \"/file.txt\";
                if (File.Exists(testPath) == false)
                {
                    File.Create(testPath);
                }
                TextWriter tw = new StreamWriter(testPath);

                foreach (var s in content2)
                {
                    tw.WriteLine(s);
                }
                tw.Close();
    await Shell.Current.GoToAsync($\"//{nameof(HomePage)}\");
}

有人知道我怎么能这样做?

非常感谢!

  • 正如我从您过去的帖子中记得的那样,您从相机中获取了一系列 FileResults,然后尝试上传它们。如果上传失败,您希望能够恢复上传。那是对的吗?
  • 这是正确的,因为例如,如果用户没有 wifi。我希望能够在不告诉用户的情况下获取照片并上传。我清楚了吗?
  • \"我做不到\".解释会发生什么。是否有错误或异常消息?是否创建文件?如果是,它是零长度,还是包含一些数据?
  • 您从相机获得的 FileResult 对象已经包含您需要的所有数据。我会将这些数据保存到数据库中,但如果您还没有准备好处理数据库,我会保存到文件中。然后,当您有良好的连接时,您可以使用该 FileResult 对象列表进行上传。一旦你上传了一个,你可以删除记录。另外,我会一次上传一张图片,这样如果失败,您只需重新发送一张。如果您将它们分组发送,则必须重新发送整个组

标签: c# xamarin xamarin.forms xamarin.android


【解决方案1】:

您可以尝试将其转换为字节数组,然后将数组保存到 txt 文件中。如:

 using (FileStream fs = new FileStream(testPath, FileMode.Open, FileAccess.Write))
        {
            byte[] buffer = getarray();// convert the MultipartFormDataContent to the byte array here
            fs.Write(buffer, 0, buffer.Length);
        }

【讨论】:

    猜你喜欢
    • 2020-09-09
    • 2015-02-09
    • 1970-01-01
    • 1970-01-01
    • 2020-02-07
    • 2012-07-31
    • 2018-05-27
    • 2018-06-29
    • 2015-08-27
    相关资源
    最近更新 更多