This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RTOS/DK-TM4C129X:如何将大文件(约1M)上载到 TM4C129X 嵌入式 Web 服务器

Guru**** 2487425 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/730754/rtos-dk-tm4c129x-how-can-i-upload-large-file-about-1m-to-the-tm4c129x-embedded-web-server

器件型号:DK-TM4C129X

工具/软件:TI-RTOS

您好!  
我正在处理一个项目、该项目要求我将文件从 PC (wav (1M 大小)、doc、Excel)上载到 TM4C129X 芯片上运行的嵌入式 Web 服务器。 我使用的是 TI RTOS、NDK、BSD 套接字。 我有初学者 html 和 javascript 技能。 请您告诉我正确的方向、因为我不知道下一步要做什么。 这是我根据我迄今研究的结果所做的工作。 下面是一个简单的 HTML 代码、允许我上传一个简单的文本文件。 看起来我可以使用文本文件执行它。 请参阅 HTML 下方的输出。 但是当我尝试上载一个 doc 或 wav 文件时、我看不到正在传输的内容。 根据我收集的数据、这可能是服务器端的缓冲区、内存问题。 我尝试更改 TI RTOS 配置文件的 TCP 参数、例如 TCP 接收缓冲区大小、重新组装数据包、缓冲区大小限制。 不管我做了什么,我还是得到了相同的结果-->我用文本文件的大小来玩,这就是发生的情况 ->如果文件大小<= 1166字节,我就能得到文本文件的内容。 如果高于该值、则传输失败。  对于 Web 服务器、我仍然是新手、因此可能还有其他方法可以正确地做到这一点。 任何建议都是非常感谢的。
谢谢
AJ  
下面是 html 代码和串行端口的输出。
 

 
   
   文件传输
   
   
   
 
 
   

文件传输


   


   
     

上传文件


     
     


     
   
 
这是文本文件<= 1166字节时的输出
消息= POST /FUP.cgi HTTP/1.1
参考资料: 10.20.30.120/ File_Transfer.html
缓存控制:Max-age=0
内容类型:多部分/格式数据;bound------------------------------------------------------- 7e259540702
用户代理:Mozilla/5.0 (Windows NT 10.0;Win64;x64) AppleWebKit/537.36 (KHTML、如 Gecko) Chrome/64.0.3282.140 Safari / 537.36 Edge/17.17134
接受语言:简体中文
接受:text/html、application/xHTML、application/xHTML、application/xml;q=0.9、*/*;q=0.8
升级不安全请求:1.
Accept-Encoding:gzip、放气
主机:10.20.30.120
内容长度:286.
连接:保持活动

-------------------- 7e259540702
内容处理:格式数据;name="File";file="Test.txt"
内容类型:文本/普通

你好
-------------------- 7e259540702
内容处理:表单数据;name="upload"

上传
-------------------- 7e259540702--


接收的字节数= 866
如果文件很大、这就是输出
消息= POST /FUP.cgi HTTP/1.1
参考资料: 10.20.30.120/ File_Transfer.html
缓存控制:Max-age=0
内容类型:多部分/格式数据;bound------------------------------------------------------- 7e230c2040702
用户代理:Mozilla/5.0 (Windows NT 10.0;Win64;x64) AppleWebKit/537.36 (KHTML、如 Gecko) Chrome/64.0.3282.140 Safari / 537.36 Edge/17.17134
接受语言:简体中文
接受:text/html、application/xHTML、application/xHTML、application/xml;q=0.9、*/*;q=0.8
升级不安全请求:1.
Accept-Encoding:gzip、放气
主机:10.20.30.120
内容长度:12183
连接:保持活动


接收到的字节数= 584
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 AJ_ee、

    您是否对这两种场景进行了 Wireshark 捕获?

    如果不是、您可以这样做并将这些捕获文件附加到此主题中吗? (请附加从 Wireshark 程序保存的实际捕获文件、即请不要简单地发布 Wireshark 捕获的屏幕截图)。

    Steve
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    这是否得到了解决?

    Todd
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Todd、Steve、

    是的、我终于解决了这个问题。 我能够使用 Ajax 传输大型文件。 下面的链接是一篇有关文件传输的文章。 我调整了作者的示例代码、使其适用于我的应用。 该文件被视为 blob、使用 file.slice、我将其分解成块并使用 XMLHTTP 发送  

    www.accelebrate.com/.../

    谢谢。

    此致、

    AJ