当前位置: 代码迷 >> PHP >> CURL上传失败
  详细解决方案

CURL上传失败

热度:409   发布时间:2012-03-30 17:32:10.0
CURL上传失败,求助
我使用例子上的代码上传文件,程序不出错,但是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++中提问没有人回答,所以在这边请教下,我想上传部分应该是一样的。

------解决方案--------------------
POST 方式请求的参数串(或数组)

curl 上传是模拟浏览器的表单上传
<form method="POST" enctype="multipart/form-data">