我的图片框图像未使用 API 保存到 dropbox 文件夹

问题描述 投票:0回答:1

这是我的代码:

static string token = "<REDACTED>";

async Task Upload()
{        
    using (var dbx = new DropboxClient(token))

    {
        //C: \Users\home\Downloads\abba.JPG

        //string file = @"C:\Users\home\Downloads\FazalNEwTEst.JPG";
        string folder = "";
        string filename = "EziTest-2-jun-2020.JPG";
        string url = pictureBox1.Image.ToString();

        ImageConverter converter = new ImageConverter();
        byte[] bytes = (byte[])converter.ConvertTo(pictureBox1.Image, typeof(byte[]));
        string base64String = Convert.ToBase64String(bytes, 0, bytes.Length);
        var mem = new MemoryStream(File.ReadAllBytes(base64String));
        //using ()
        //{
            var updated = dbx.Files.UploadAsync(folder + "/" + filename, WriteMode.Overwrite.Instance, body: mem);
            updated.Wait();
            var tx = dbx.Sharing.CreateSharedLinkWithSettingsAsync(folder + "/" + filename);
            tx.Wait();
            url = tx.Result.Url;

        //}

        //Console.Write(url)
    }
}

按钮点击代码为:

private void button1_Click(object sender, EventArgs e)
{       
    var awt = Task.Run((Func<Task>)this.Upload);
    awt.Wait();
}

当我点击图片时,picturebox 图像应该使用 API 的令牌保存到 dropbox 文件夹中,但实际上它给了我错误:

DirectoryNotFoundException:找不到路径的一部分'E:isual studio项目\ Windows表单应用程序教程\ Dropbox Api Demo \ Dropbox Api Demo in \ Debug \ iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAABGdBTUEAALGPC \ xhBQAAA1FJREFUeF7t2ttLVFEcxXH \ qKjogmWWRplaSEkWQUIP QkkQShTZlbySZqKZEZTVQzcIIgiKUMtSPEC6IFbmZRzHchwVEkd27OeneNyBOM1h1tlnfWE9ne M87A8y4xlTGGOMMWZx11rvKs79yXEvn775YEu72tncw7kwfbYrBtE\uKqxj3Nh+mwJAjSCgI0g YCMI2AgCNoKAjSBgIwjYCAI2goAtLhA+y3JvcT3L4tyfHPfylVbeUP0\RxRzJ322+ozluJePIO5GELAIAhZBwCIIWAQBiyBgEQQsgoBFELAIAhZBwCIIWAQBiyBgEQQsz4J0dHarx0 +fJ3RDIwF59eTlWZDikrNq9aashO7FqzZ59eRFkEUjyH+UaJC1adlqYHBIXj15eRbkZFm52pKVH9f04S8FOVdeK6+c3DwLEm+h8V9qY8YeB8b69FyIN3Sd70Au1zQ4MPQqaxvlavLzFUgg OKY2bN3twNC\LWOhcbkj+fkK5FLVVQeGXn3TLbmKkW9AAqPB2HvFYoy0HXtVeDIid2DkG5ALFXUODL2mm61yFSdfgAwOB9S69BwHRmpmnpoIT8odOPkCpOJKowNDr6a+Wa5iZT1IZGpapW7Pc2Do35bRY EjuwMp6kDv3Hzkw9E6fr5KreFkNMj8 3LyCw2Qj72f5Q68rAZ5+brDwCgoPCZXMbMa5MjRUgNEfxGFnLUgX 6DQz9mGRqekbuwMxakOq66wYI8pv5QlaCRKNRlZl7wADp7OqRO3CzEqTtzXsDIyOnIPapCz0rQc5crDZA9LMsL2QdyNxcNPY 17VKQ9rddcgd21oG86 gYOhHJ7Ozs3IHdtaB

c# .net winforms dropbox
1个回答
0
投票

尝试改变线路

byte[] bytes = (byte[])converter.ConvertTo(pictureBox1.Image, typeof(byte[]));
string base64String = Convert.ToBase64String(bytes, 0, bytes.Length);
var mem = new MemoryStream(File.ReadAllBytes(base64String));

byte[] bytes = (byte[])converter.ConvertTo(pictureBox1.Image, typeof(byte[]));
var mem = new MemoryStream(bytes);

您不需要将

byte
数组转换为 base64
string
。这是代码
File.ReadAllBytes(base64String)
尝试从磁盘读取具有乱码名称的文件

© www.soinside.com 2019 - 2024. All rights reserved.