我使用例子上的代码上传文件,程序不出错,但是tomcat文件夹中没有我上传的文件,请问各位这是何解。
以下是我的代码
static size_t read_callback(void *ptr, size_t size, size_t nmemb, void *stream)
{
size_t retcode = fread(ptr, size,nmemb, (FILE *)stream);return retcode;
}=====================================================================================main()函数中的
  CURL *curl;
  CURLcode res;
  FILE * hd_src ;
  int hd ;
  struct stat file_info;
   
  hd = open(LOCAL_FILE, O_RDONLY) ;
  fstat(hd, &file_info);
  close(hd) ;
  
  hd_src = fopen(LOCAL_FILE, "rb");//LOCAL_FILE->d:\\t.txt
  
  curl_global_init(CURL_GLOBAL_ALL);
   
  curl = curl_easy_init();
  if(curl) {
  
  curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback);  curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
  
  curl_easy_setopt(curl, CURLOPT_PUT, 1L);  curl_easy_setopt(curl, CURLOPT_URL, "http://localhost:8080/mp3/2.txt");//地址我在自己的电脑是数字,这边可能有拼写错误
  
  curl_easy_setopt(curl, CURLOPT_READDATA, hd_src);
  
  curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE,
  (curl_off_t)file_info.st_size);
  
  res = curl_easy_perform(curl);
  
  curl_easy_cleanup(curl);
  }
  fclose(hd_src);  
 
  curl_global_cleanup();========================================================================================vs2008上面debug调试每一步都走了,但是服务器tomcat上面没有我上传的文件,文件8k。求助呀有人说是tomcat的目录权限问题,需要我修改internet guest写入权限,可是我用的是xp系统,这个权限在什么地方呢。另外说下这个是我在cocos2dx中的代码,因为在c++中提问没有人回答,所以在这边请教下,我想上传部分应该是一样的。

解决方案 »

  1.   

    这是 php 的代码,你看看有什么不同。
    另外,服务器端接受到的数据流,除php外都需要自行处理
    在服务器端产生文件,也是服务器端程序的事情
    $file = realpath('gif/1.gif'); //要上传的文件,需要是绝对路径
    $fields['f'] = '@'.$file;$ch = curl_init();  
    curl_setopt($ch, CURLOPT_URL,"http://localhost/server.php");  
    curl_setopt($ch, CURLOPT_POST, 1 );
    curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);curl_exec ($ch);  
    curl_close ($ch);  
      

  2.   


    首先,谢谢。
    我看了代码,就是CURLOPT_POSTFIELDS这个参数是什么意思?
    其他的到没什么区别,我上传的路径也是绝对路径,curl_exec我这边用的是curl_easy_perform
      

  3.   

    POST 方式请求的参数串(或数组)curl 上传是模拟浏览器的表单上传
    <form method="POST" enctype="multipart/form-data">
      

  4.   


    我用的是wophone没有页面之,但是原理应该是一样的吧,都是上传到服务器