esp8266上传文件到服务器,关于用stm32和ESP8266通过POST请求上传图片到贝壳物联的接口...

/*上传数据到图片接口*/

void update_img(char *did, char *inputid, char *APIKEY)

{

char name[40];

unsigned long int file_byte;

u8 buffer[1024];

UINT  br;

//打开jpg图片

sprintf(name,"0:photo_%d.jpg",name_count);

jpgres = f_open( &jpgfsrc , (char*)name,  FA_OPEN_EXISTING | FA_READ);

//图片打开成功

if(jpgres==FR_OK)

{

//获取图片大小

file_byte=jpgfsrc.fsize;

printf("\r\nsize:%lu\r\n",file_byte);

//POST请求发送

ESP8266_USART("POST https://www.bigiot.net/pubapi/uploadImg/did/%s/inputid/%s HTTP/1.1\r\n", did, inputid);

ESP8266_USART("Host: www.bigiot.net\r\n");

ESP8266_USART("Connection: keep-alive\r\n");

ESP8266_USART("API-KEY: %s\r\n", APIKEY);

ESP8266_USART("Content-Length: %lu\r\n",file_byte);

ESP8266_USART("Content-Type: multipart/form-data; boundary=3bf1dc3ce677345d7151048c92ca3cac\r\n");

ESP8266_USART("\r\n");

ESP8266_USART("--3bf1dc3ce677345d7151048c92ca3cac\r\n");

ESP8266_USART("Content-Disposition: form-data; name=\"file\"; filename=\"ex1.jpg\"\r\n");

ESP8266_USART("\r\n");

while(1)

{

//读取jpg文件信息

jpgres = f_read(&jpgfsrc, buffer, sizeof(buffer), &br);

USART_puts(USART2, buffer);

//判断手否读取完结,若完结跳出循环

if (jpgres || br < sizeof(buffer))

{

break;

}

}

ESP8266_USART("\r\n");

ESP8266_USART("--3bf1dc3ce677345d7151048c92ca3cac--\r\n");

}

f_close(&jpgfsrc); //关闭文件

}

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值