【问题标题】:JPEG size as byte array to Web APIJPEG 大小作为 Web API 的字节数组
【发布时间】:2014-07-22 20:57:18
【问题描述】:

我正在尝试将 jpeg 作为字节数组从手机发送到 Web API。最初,手机拍摄的图像大小约为 2mb,尺寸为 2000x3500,因此我将其缩小到大约 300x500 尺寸,从而将图像尺寸缩小到约 135k。

如果不使用 WiFi,应用程序仍然需要大约 10 秒左右的时间通过下面的代码将其发送到 Web API,有时它会失败(由于我相信的大小,或者某处超时)。

HttpResponseMessage response = await client.PostAsJsonAsync("api/Send", msg);

我有什么方法可以压缩 jpeg,以便我可以将其从手机发送到 WebAPI 而不会使其变小?

我正在传输一些其他信息以及对象中的字节数组,例如用户ID等。

感谢您的指点!

【问题讨论】:

  • 好像jpeg已经是压缩格式了。如果你重新压缩它,你几乎一无所获。

标签: c# windows-phone-8 asp.net-web-api


【解决方案1】:

我认为您可以在 web api 中启用缓冲。这可能会帮助您加快上传速度。 Web API 中用于启用缓冲的接口是IHostBufferPolicySelector

我还没有尝试过,但这个link 可能会对你有所帮助。

【讨论】:

    【解决方案2】:

    我没有找到任何方法来加快传输速度。 Windows Phone 有两种选择。要么实现“发送”通知并按住 UI……但这并不能阻止他们退出应用程序。

    BackgroundUploader 类是另一种方法,但仅适用于 Windows Phone 8.1,您只能上传文件,不能上传对象; http://msdn.microsoft.com/library/windows/apps/windows.networking.backgroundtransfer.backgrounduploader.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-18
      • 1970-01-01
      • 1970-01-01
      • 2017-08-29
      • 1970-01-01
      • 1970-01-01
      • 2015-12-27
      相关资源
      最近更新 更多