c# - Express (NodeJS) 无法处理来自 Xamarin Android 应用程序的 Post

标签 c# node.js express post xamarin

我有一些设备可以与本地服务器上的 Express 应用程序进行交互。出于原型(prototype)演示的目的,我试图使其尽可能简单。除其他事项外,我的本地服务器与/uploads 文件夹中的图像和图像数据进行交互:

(Express/NodeJS 代码):

app.route('/uploads')
//Send File to Android
   .get( function (req, res) {
     var images = fs.readdirSync('./uploads');
     console.log(images[images.length-1]);

     var imgpath = path.resolve('./uploads/' + images[images.length-1]);
     res.sendFile(imgpath);
    //res.end('Image List Sent')
   })
 //Receive image chip data from Android
   .post( function (req, res) {
     Console.log("insideit");
     Console.log(req.body);

     res.end('got something?')
   });

此服务器代码正在接收来自 C# Android 代码的请求。 GET 命令运行良好,因此我将省略该 Xamarin/C# 代码。来自 Android 应用程序的 POST 命令是这样的(在 C#/Xamarin 中):

        var rxcui = "198840";
        string _url = string.Format(@"http://10.1.10.194:3000/uploads", rxcui);
        string datastr = "test";
        try
        {
            (new WebClient()).UploadString(_url, datastr);

        }
        catch
        {
            Console.WriteLine("Post Upload Error");
        }
    }

服务器看到 post 请求,但返回 500。看起来它没有正确路由,因为它不会进入我的 post 处理代码并打印简单的测试字符串。关于为什么 POST 命令没有得到适当处理的任何想法?

最佳答案

尝试用 res.send() 替换 res.end。像这样的事情

.post( function (req, res) {
     Console.log("insideit");
     Console.log(req.body);

     res.send('got something?');
   });

这应该有效。

关于c# - Express (NodeJS) 无法处理来自 Xamarin Android 应用程序的 Post,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45441635/

相关文章:

c# - 第一的?单例的?还是默认?

c# - .NET Core 设置 - 最佳实践

node.js - 生产/构建中的 Material-UI 渲染错误

javascript - 语法错误: Unexpected token < : using angular 2 and webpack on heroku

javascript - 使用 Node.js 动态 app.get URL 切换大小写?

forms - expressjs 支持方法删除和放置,没有方法覆盖

c# - 我如何放入异常捕获

C# dll,可与 php 和 java 互操作

javascript - 您可以从函数绑定(bind)中读取连接字符串吗?

javascript - 将 jquery 变量发送到express.js 路由