【问题标题】:Upload a 'bitmap' from C# to PHP [closed]将“位图”从 C# 上传到 PHP [关闭]
【发布时间】:2013-01-17 11:35:28
【问题描述】:

我不完全确定如何执行此操作,但我想要一种从我的 C# 应用程序上传图片的方法,可以使用基本的 PHP 查询上传。 IE。获取这些字节或其他内容并将文本复制到php服务器上,然后接收信息的客户端将这些字节再次转换为图片。

类似的东西;

String Screen_Shot = BitMapImage.toString;
WebClient client = new WebClient();
client.DownloadString("http://example.com/PHP/addimagetodatabase.php?image=" + Screen_Shot);

我不知道如何实际获取要转换的字节或某种文本,但我无法使用 FTP 上传图片,我有一个 PHP/SQL 数据库,可以从 C# 客户端获取图片字节或其他内容,然后将它们发送给翻译。

注意:我想要一种通过 PHP 将图片/字节/数据放到数据库中的方法,我无法弄清楚。

【问题讨论】:

  • 如果您使用的是数据库,是否可以将图像作为 blob 存储在数据库中,然后从 php 端的数据库中获取它?
  • 您能否再解释一下,PHP/数据库方面的事情真的让我很困惑。
  • 到目前为止,您在数据库方面做了什么?你有桌子和一切设置吗?
  • 嗯,我的数据库到目前为止有信息发送和检索但我想我可以发送字节或图像的文本(当你在记事本中打开图像并且那里有所有奇怪的东西)并使用 PHP 查询将其添加到数据库中,然后其他程序获取它并将其转换回原始图像并显示它。
  • 从应用程序中,您可以通过 MySQL 查询将其添加到数据库中,在 c# 端不需要 PHP。然后,您可以使用 PHP 端从数据库中检索并在那里显示它。这有意义吗?

标签: c# php mysql


【解决方案1】:
public Byte[] BitmapToArray(Bitmap bitmap)
{
    using (MemoryStream stream = new MemoryStream())
    {
        bitmap.Save(stream, ImageFormat.Bmp);
        return stream.ToArray();
    }
}

public Bitmap DownloadImage(String url)
{
    WebClient client = new WebClient();
    Byte[] bytes = client.DownloadData(url);

    Bitmap bitmap = null;

    using (MemoryStream stream = new MemoryStream(bytes, 0, bytes.Length))
    {
        stream.Write(bytes, 0, bytes.Length);
        return (new Bitmap(stream));
    }
}

public Byte[] UploadImage(String url, String path)
{
    WebClient client = new WebClient();
    return client.UploadFile(url, path);
}

【讨论】:

  • 这对接收端有好处,但我想知道如何通过 php 将图像上传到数据库):
  • 谢谢,但我如何获取位图的字节?我有一个获取位图本身的 sn-p 代码,但我如何获取该图像的字节? :)
  • File.ReadAllBytes(filePath) ?
  • 好吧,我试试看,这是否意味着我必须先保存位图图像才能获取字节并发送它们?
  • 你可以从流中构建它...
猜你喜欢
  • 1970-01-01
  • 2015-02-12
  • 1970-01-01
  • 2012-04-03
  • 1970-01-01
  • 2014-02-27
  • 2019-12-10
  • 2015-03-10
  • 2014-08-26
相关资源
最近更新 更多