通过WEB实现下载终端设备上的文件

嵌入式设备上有个WEB Server(Boa),通过界面下载设备上的文件,文件名字为"1 23.txt",下载到本地时变成
"1+23.txt",下载前端的代码是这么写的

document.data.data.value = fileName;
document.data.action = "/cgi-bin/download.cgi";
document.data.submit();

CGI的代码

getcgidata(stdin, req_method);

char *getcgidata(FILE *fp, char *requestmethod)
{
    if(strcmp(requestmethod, "POST") == 0)
    {
        len = atoi(getenv("CONTENT_LENGTH"));
        while(1)
        {
             input[i] = (char)fgetc(fp);
             if(i == size)
             {
                 input[i + 1] = '\0';
                   return input;
               }
               --len;
               if(feof(fp) || (!(len)))
              {
                  i++;
                  input[i] = '\0';
                  return input;
              }
             i++;
         }
     }    
}

fileName名字带有空格,到download.c中查看空格变成加号了,这是为什么?
从CGI环境中读出来的时候就变成加号了,百度了一下说是编码的问题,但是怎么改了?

阅读 1.3k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题