• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

为何用Delphi程序写的POST不能下传图片

php 搞代码 4年前 (2022-01-24) 22次浏览 已收录 0个评论

为何用Delphi程序写的POST不能上传图片?
我用Delphi写了个POST,想实现自动上传的功能,但是就算我把整个提封包完全模拟下来,也不能成功提交图片,求高手帮忙解答!

以下是PHP的代码

PHP code

<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <?php  //上传文件类型列表  $uptypes=array(      'image/jpg',      'image/jpeg',      'image/png',      'image/pjpeg',      'image/gif',      'image/bmp',      'image/x-png' );   $max_file_size=2000000;     //上传文件大小限制, 单位BYTE  $destination_folder="uploadimg/"; //上传文件路径   $imgpreview=0;      //是否生成预览图(1为生成,其他为不生成);  $imgpreviewsize=1/1;    //缩略图比例  ?>        <title>FileUpload</title>  <style type="text/css">  <!---ecms   body  {       font-size: 9pt;  }  input  {       background-color: #66CCFF;       border: 1px inset #CCCCCC;  }  -->  </style>     <body>      上传文件:         <?php  if ($_SERVER['REQUEST_METHOD'] == 'POST')  {      if (!is_uploaded_file($_FILES["upfile"][tmp_name]))      //是否存在文件      {           echo "图片不存在!";           exit;      }       $file = $_FILES["upfile"];      if($max_file_size < $file["size"])      //检查文件大小      {          echo "文件太大!";          exit;      }       if(!in_array($file["type"], $uptypes))      //检查文件类型      {          echo "文件类型不符!".$file["t<em>¥本文来%源[email protected]搞@^&代*@码)网5</em><strong>搞gaodaima代码</strong>ype"];          exit;      }       if(!file_exists($destination_folder))      {          mkdir($destination_folder);      }       $filename=$file["tmp_name"];      $image_size = getimagesize($filename);      $pinfo=pathinfo($file["name"]);      $ftype=$pinfo['extension'];      $destination = $destination_folder.time().".".$ftype;      if (file_exists($destination) && $overwrite != true)      {          echo "同名文件已经存在了";          exit;      }       if(!move_uploaded_file ($filename, $destination))      {          echo "移动文件出错";          exit;      }       $pinfo=pathinfo($destination);      $fname=$pinfo[basename];      echo " <font color="red">已经成功上传</font><br>";        if($imgpreview==1)      {      echo "<br>图片预览:<br>";      echo "";%20%20%20%20%20%20}%20%20}%20%20?>%20%20%20<br>%20%20%20%20%20

以下是正常网页提交,和Delphi写的程序POST提交的截包

XML%20code

POST%20/aa.php%20HTTP/1.1Accept:%20image/gif,%20image/x-xbitmap,%20image/jpeg,%20image/pjpeg,%20application/x-shockwave-flash,%20application/vnd.ms-excel,%20application/vnd.ms-powerpoint,%20application/msword,%20application/x-silverlight,%20*/*Referer:%20http://116.254.216.83/aa.phpAccept-Language:%20zh-cnContent-Type:%20multipart/form-data;%20boundary=---------------------------7dc38a1d60e20Accept-Encoding:%20gzip,%20deflateUser-Agent:%20Mozilla/4.0%20(compatible;%20MSIE%206.0;%20Windows%20NT%205.1;%20SV1)Host:%20116.254.216.83Content-Length:%2037420Connection:%20Keep-AliveCache-Control:%20no-cache-----------------------------7dc38a1d60e20Content-Disposition:%20form-data;%20name="upfile";%20filename="C:\Documents%20and%20Settings\Administrator\妗岄潰\Test\789_3.jpg"Content-Type: image/pjpeg??==================以上是网页提交截取的封包==========================================以下是Delphi程序提交截取的封包========================POST /aa.php HTTP/1.1Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-silverlight, */*Referer: http://116.254.216.83/aa.phpAccept-Language: zh-cnContent-Type: multipart/form-data; boundary=---------------------------7dcbbd440b68Accept-Encoding: gzip, deflateUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)Host: 116.254.216.83Connection: Keep-AliveContent-Length: 37630Cache-Control: no-cache---------------------------7dcbbd440b68Content-Disposition: form-data; name="upfile"; filename="D:\Test\789_5.jpg"Content-Type: image/pjpeg??


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:为何用Delphi程序写的POST不能下传图片
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址