Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 替代PHP';s文件以c语言获取内容#_C#_Php - Fatal编程技术网

C# 替代PHP';s文件以c语言获取内容#

C# 替代PHP';s文件以c语言获取内容#,c#,php,C#,Php,我有一个项目,其中一个用PHP编写的用户端框架使用file_get_内容读取图像文件,并将输出字符串放入数据库中,然后用于通过从数据库中读取来向用户显示图像 现在我正在制作一个webservice(c#中的webAPI),用户通过它从移动应用程序发送一个字节[]的图像。我需要找到C的文件内容的确切替代方法 在网上搜索,找到了两种方法 byte[]fileData=File.ReadAllBytes(filePath); string scocontents=System.Text.Encodin

我有一个项目,其中一个用PHP编写的用户端框架使用file_get_内容读取图像文件,并将输出字符串放入数据库中,然后用于通过从数据库中读取来向用户显示图像

现在我正在制作一个webservice(c#中的webAPI),用户通过它从移动应用程序发送一个字节[]的图像。我需要找到C的文件内容的确切替代方法

在网上搜索,找到了两种方法

  • byte[]fileData=File.ReadAllBytes(filePath);
    string scocontents=System.Text.Encoding.ASCII.GetString(fileData)

  • StreamReader sr=新的StreamReader(文件路径);
    字符串scontetsa=sr.ReadToEnd();
    高级关闭()

  • 从示例图像文件中,不同方法的输出为:

    file_get_contents gives : {�PNG\r\n\n\0\0\0\rIHDR\0\0�\0\0�\b\0\0\0���(\0\0\0\tpHYs\0\0\v\0\0\v\0��\0\0\nOiCCPPhotoshop ICC profile\0\0xڝSgTS�}
    
    First c# method: ?PNG\r\n\n\0\0\0\rIHDR\0\0?\0\0?\b\0\0\0???(\0\0\0\tpHYs\0\0\v\0\0\v\0??\0\0\nOiCCPPhotoshop ICC profile\0\0x?SgTS
    
    second c# method: �PNG\r\n\n\0\0\0\rIHDR\0\0�\0\0�\b\0\0\0���(\0\0\0\tpHYs\0\0\v\0\0\v\0��\0\0\nOiCCPPhotoshop ICC profile\0\0xڝSgTS�
    
    看起来第二个c#方法生成了相同的输出,所以问题来了:从DB读取值时,输出显示如下

    “?PNG\r\n\n\0\0\0\0\0\0\0\0\b\0\0\0\0\0???(\0\0\0\0\0\tpHYs\0\0\0\v\0\0\0\0\0\0\noicpprotoshop ICC配置文件\0\0x\SgTS?

    我希望今天已经三天没有遇到这个愚蠢的问题了


    任何能解决这个问题的人,或者有一种全新的方法,都是值得赞赏的。[我唯一不能改变的部分是PHP代码]

    是的,编码集似乎有一些问题

    这对我有用

    StreamReader sr = new StreamReader(filePath);
    string sContentsa = sr.ReadToEnd();
    sr.Close();
    

    您是否尝试过
    文件。ReadAllText(字符串路径)
    ?这是编码问题吗?第一个方法“不起作用”的原因可能是您指定了ASCII,而第二个方法默认使用UTF-8(我想)。可能您在其他地方有其他编码不匹配?听起来这可能有助于UTF isues