찾다
웹 프론트엔드HTML 튜토리얼从HTML上传图片到AFNetWorking上传图片代码浅析_html/css_WEB-ITnose

先介绍一下背景啊,本人是一名从业2.5年+的IOS开发工程师。平时喜欢搞点小研究,技术上虽然跟大牛们差很远,但是个人觉得写点对别人有帮助的文章也不是什么坏事。这篇文章主要是为了一些不了解图片上传的过程的同学们准备的,之前好几个群友都提到了使用AFNetWorking上传图片不了解是什么过程。可能都是从网上Copy过来的代码,所以不是很清楚流程才导致的不知道该在哪里写什么参数。设置什么参数。下面我就跟大家分享一下。使用Web和AFNetWorking的上传过程。两个前台的代码加上一个PHP后台的代码我想大家会足够明白图片的上传流程了。这就是我举两个例子的原因了,对比着看或许更加事半功倍吧。

首先先从Web上传图片开始说起。贴段代码解释一下吧。

<html><head><meta charset="UTF-8"> <title> Upload Picture. </title></head><body><form action="handle.php" name="form" method="post" enctype="multipart/form-data"> <input type="file" name="fileData" /> <input type="submit" name="submit" value="上传" /></form></body></html>

分析一下上面的代码,其实没有什么可以说的懂html的都知道。是一个提交表单。要点:method=”post” :设置HTTP请求方式为POST请求enctype=”multipart/form-data” :这个是一个需要了解的地方multipart/form-data这个值用于支持向服务器发送二进制数据。这个大家是不是看着感觉似曾相识的感觉呢? AFMultipartFormData协议,这个肯定不陌生了吧。其实AFMultipartFormData协议的作用就等价于multipart/form-data这个了。刚好提到AFMultipartFormData这个协议,那么下面我贴上另外的AFNetWorking上传图片的代码吧。大家都知道,由于IOS不能像Web那样通过提交表单来上传数据,那么我们只能通过HTTP请求来提交数据。代码如下

UIImage *image = [UIImage imageNamed:@"测试图片.jpg"]; NSData *data = UIImageJPEGRepresentation(image, 1.0); AFHTTPSessionManager *session = [AFHTTPSessionManager manager]; [session POST:@"图片上传接口" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData){ [formData appendPartWithFileData :data name:@"fileData" fileName:@"图片名称.jpg" mimeType:@"image/jpeg"]; } progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nonnull responseObject){ } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error){ }];

到这里大家一定会发现有点神似并且会有一个共同的地方。就是共同都用到了fileData这个参数。没有错,代码先做了个POST请求,然后使用此协议起到了类似Web提交表单中图片的作用。POST:parameters:constructingBodyWithBlock: 此方法为AFNetWorking中自带方法。百度查一下即可。

前面我介绍了那么多前段的操作,下面我们来看下服务器端怎么来接收图片。以PHP后台为例子了。简单的写了个PHP上传图片的后台。

<?php header('Content-Type:text/json; charset=utf-8'); $file = $_FILES['fileData']; $name = $file['name']; $type = strtolower(substr($name,strrpos($name,'.')+1)); $allow_type = array('jpg','jpeg','gif','png'); if(!in_array($type, $allow_type)){ return ; } if(!is_uploaded_file($file['tmp_name'])){ return ; } $upload_path = "./"; if(move_uploaded_file($file['tmp_name'],$upload_path.$file['name'])){ $array = array( 'code' => 'success' ); echo json_encode($array); }else{ $array = array( 'code' => 'fail' ); echo json_encode($array); }?>

大家是不是又发现了什么?$_FILES[‘fileData’]没错,就是这个了用来获取表单中name为fileData的二进制图片数据。获取到这张图片数据之后将图片保存至服务器。至此为图片上传至服务器的全部流程了。

可能写的不是那么好,不是那么有价值。但是个人感觉还是很实用,希望不喜勿喷。

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
HTML : 프로그래밍 언어입니까 아니면 다른 것입니까?HTML : 프로그래밍 언어입니까 아니면 다른 것입니까?Apr 15, 2025 am 12:13 AM

Htmlisnotaprogramminglanguage; itisamarkuplanguage.1) htmlstructuresandformatswebcontentusingtags.2) itworksporstylingandjavaScriptOfforIncincivity, WebDevelopment 향상.

HTML : 웹 페이지 구조 구축HTML : 웹 페이지 구조 구축Apr 14, 2025 am 12:14 AM

HTML은 웹 페이지 구조를 구축하는 초석입니다. 1. HTML은 컨텐츠 구조와 의미론 및 사용 등을 정의합니다. 태그. 2. SEO 효과를 향상시키기 위해 시맨틱 마커 등을 제공합니다. 3. 태그를 통한 사용자 상호 작용을 실현하려면 형식 검증에주의를 기울이십시오. 4. 자바 스크립트와 결합하여 동적 효과를 달성하기 위해 고급 요소를 사용하십시오. 5. 일반적인 오류에는 탈수 된 레이블과 인용되지 않은 속성 값이 포함되며 검증 도구가 필요합니다. 6. 최적화 전략에는 HTTP 요청 감소, HTML 압축, 시맨틱 태그 사용 등이 포함됩니다.

텍스트에서 웹 사이트로 : HTML의 힘텍스트에서 웹 사이트로 : HTML의 힘Apr 13, 2025 am 12:07 AM

HTML은 웹 페이지를 작성하는 데 사용되는 언어로, 태그 및 속성을 통해 웹 페이지 구조 및 컨텐츠를 정의합니다. 1) HTML과 같은 태그를 통해 문서 구조를 구성합니다. 2) 브라우저는 HTML을 구문 분석하여 DOM을 빌드하고 웹 페이지를 렌더링합니다. 3) 멀티미디어 기능을 향상시키는 HTML5의 새로운 기능. 4) 일반적인 오류에는 탈수 된 레이블과 인용되지 않은 속성 값이 포함됩니다. 5) 최적화 제안에는 시맨틱 태그 사용 및 파일 크기 감소가 포함됩니다.

HTML, CSS 및 JavaScript 이해 : 초보자 안내서HTML, CSS 및 JavaScript 이해 : 초보자 안내서Apr 12, 2025 am 12:02 AM

WebDevelopmentReliesonHtml, CSS 및 JavaScript : 1) HtmlStructuresContent, 2) CSSSTYLESIT, 및 3) JAVASCRIPTADDSINGINTERACTIVITY, BASISOFMODERNWEBEXPERIENCES를 형성합니다.

HTML의 역할 : 웹 컨텐츠 구조HTML의 역할 : 웹 컨텐츠 구조Apr 11, 2025 am 12:12 AM

HTML의 역할은 태그 및 속성을 통해 웹 페이지의 구조와 내용을 정의하는 것입니다. 1. HTML은 읽기 쉽고 이해하기 쉽게하는 태그를 통해 컨텐츠를 구성합니다. 2. 접근성 및 SEO와 같은 시맨틱 태그 등을 사용하십시오. 3. HTML 코드를 최적화하면 웹 페이지로드 속도 및 사용자 경험이 향상 될 수 있습니다.

HTML 및 코드 : 용어를 자세히 살펴 봅니다HTML 및 코드 : 용어를 자세히 살펴 봅니다Apr 10, 2025 am 09:28 AM

"Code"는 "Code"BroadlyIncludeLugageslikeJavaScriptandPyThonforFunctureS (htMlisAspecificTypeofCodeFocudecturecturingWebContent)

HTML, CSS 및 JavaScript : 웹 개발자를위한 필수 도구HTML, CSS 및 JavaScript : 웹 개발자를위한 필수 도구Apr 09, 2025 am 12:12 AM

HTML, CSS 및 JavaScript는 웹 개발의 세 가지 기둥입니다. 1. HTML은 웹 페이지 구조를 정의하고 등과 같은 태그를 사용합니다. 2. CSS는 색상, 글꼴 크기 등과 같은 선택기 및 속성을 사용하여 웹 페이지 스타일을 제어합니다.

HTML, CSS 및 JavaScript의 역할 : 핵심 책임HTML, CSS 및 JavaScript의 역할 : 핵심 책임Apr 08, 2025 pm 07:05 PM

HTML은 웹 구조를 정의하고 CSS는 스타일과 레이아웃을 담당하며 JavaScript는 동적 상호 작용을 제공합니다. 세 사람은 웹 개발에서 의무를 수행하고 화려한 웹 사이트를 공동으로 구축합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전