PHP -- 上传文件接口编写 及 iOS -- 端上传图片AF实现

PHP 上传文件接口:

//保存图片
$json_result [‘status‘] = 0;
$path = ‘upfile‘;
$json_result [‘status‘] = 0;
$json_result [‘successmsg‘] = ‘上传失败‘;
if (isset ( $_FILES [‘image‘] )) {
    $upfile = ‘upfile/‘ . $_FILES [‘image‘] [‘name‘];
    if (! @file_exists ( $path )) {
        @mkdir ( $path );
    }
    $result = @move_uploaded_file ( $_FILES [‘image‘] [‘tmp_name‘], $upfile );
    if (! $result) {
        $json_result [‘status‘] = 0;
        $json_result [‘successmsg‘] = ‘上传失败‘;
        $json_result [‘datas‘] = array (‘savePath‘ => $upfile );
        exit ( json_encode ( $json_result ) );
    }
}

$json_result [‘status‘] = 1;
$json_result [‘datas‘] = array (‘savePath‘ => "http://".$_SERVER[‘SERVER_NAME‘].":".$_SERVER[‘SERVER_PORT‘]."/".$upfile );
print_r(json_encode($json_result));

iOS通过接口上传图片:

// 上传头像
- (void)uploadUserHeadImage:(UIImage *)image {
    // 获得网络管理者
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

    // 设置请求参数
    NSMutableDictionary *params = [NSMutableDictionary dictionary];

    [manager POST:@"http://localhost:8888/upload_image.php" parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {

        // 获取图片数据
        NSData *fileData = UIImageJPEGRepresentation(image, 1.0);

        // 设置上传图片的名字
        NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
        formatter.dateFormat = @"yyyyMMddHHmmss";
        NSString *str = [formatter stringFromDate:[NSDate date]];
        NSString *fileName = [NSString stringWithFormat:@"%@.png", str];

        [formData appendPartWithFileData:fileData name:@"image" fileName:fileName mimeType:@"image/png"];

    } progress:^(NSProgress * _Nonnull uploadProgress) {
        NSLog(@"%@", uploadProgress);
    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        // 返回结果
        NSLog(@"%@", responseObject[@"datas"]);
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        NSLog(@"%@", error);
    }];
}
时间: 2024-12-08 02:12:18

PHP -- 上传文件接口编写 及 iOS -- 端上传图片AF实现的相关文章

Fiddler小技巧-测试上传文件接口&多参数并传情况

写了多年的API了,fidder还真是方便至极相对于postman来说. 两种常用方式: 抓包:app通过代理方式,就可以在pc端看到fidder的请求了 因为会监控好多跟我们需要的没关系的HTTP请求, 就要开启过滤了 主动调试API&上传文件参数&其它参数 拷贝点击"upload file"上传之后自动生成的body然后修改: ---------------------------acebdf13572468 Content-Disposition: form-da

jmeter随笔(11)--上传文件接口出错

点击标题下「飞测」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是我们期待的方向,有更多兴趣的欢迎切磋,我们微信订阅号,联系方式如下: 背景说明 坚持分享,坚持总结,技术需要时间的积累和练习,对jmeter实践的点滴的记录,这里分享交流jmeter的第11次小技巧,仅供参考和讨论,有想法的欢迎留言.谈论,手机上图片如果不清晰,请点击[阅读原文]查看. 1问题:一个导入文

上传文件接口

urls.py from django.conf.urls import url, include from . import views from rest_framework.routers import SimpleRouter router = SimpleRouter() # /books/image/(pk) 提交 form-data:用image携带图片,这的image要与反序列字段的image一致 router.register('books/image', views.Book

小程序的上传文件接口的注意

需要对接口返回的数据转换为 JavaScript 对象 // JSON.parse()将JSON格式的数据转换为 JavaScript 对象 JSON.parse(res.data) 官方文档 https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/wx.uploadFile.html wx.chooseImage({ success (res) { const tempFilePaths = res.tempFil

Spring Cloud Feign Client 实现MultipartFile上传文件功能

这两天老大突然交给一个任务,就是当用户关注我们的微信号时,我们应该将其微信头像下载下来,然后上传到公司内部的服务器上.如果直接保存微信头像的链接,当用户更换微信头像时,我们的产品在获取用户头像很可能会出现404异常. 由于公司运用的技术栈为spring Cloud(一些Eureka, Feign)进行服务注册和远程调用. 重点来了....但直接使用FeignClient去远程调用注册中心上的上传文件接口,会一直报错. @PostMapping    @ApiOperation(value = "

关于上传文件的跨域问题

在进行新框架开发的过程中,需要自定义页面组件实现脱离表单的文件(图片)上传,考虑过wex5自带的attachmentsimple的自定义写法很难受,就改用了第三方插件webuploader来实现选择文件后调用服务端的上传文件接口实现自动上传. 中间遇到过跨域问题,即服务端所在接口域名与插件包(前端)不在同一域名下,但是由于格式是文件,所以必须采用post传输方式 解决方法: 利用CORS实现POST方式跨域请求数据 CORS全名Cross-Origin Resource Sharing,顾名思义

node.js+react全栈实践-Form中按照指定路径上传文件并

书接上回,讲到“使用同一个新增弹框”中有未解决的问题,比如复杂的字段,文件,图片上传,这一篇就解决文件上传的问题.这里的场景是在新增弹出框中要上传一个图片,并且这个上传组件放在一个Form中,和其他文本字段一起提交给接口. 这里就有几个要注意的问题: 图片上传时最好能在前端指定图片类型,根据这个类型上传到指定的目录.比如这里是新增用户,上传用户图片,那么这里就指定类型是“user”,那么就把这个文件上传到服务器的upload/user目录中.这样方便后期维护,比如要把项目中的文件统一迁移到另外一

MIME类型-服务端验证上传文件的类型

MIME的作用 : 使客户端软件,区分不同种类的数据,例如web浏览器就是通过MIME类型来判断文件是GIF图片,还是可打印的PostScript文件. web服务器使用MIME来说明发送数据的种类, web客户端使用MIME来说明希望接收到的数据种类. Tomcat的安装目录/conf/web.xml 中就定义了大量MIME类型 ,你可也去看一下. 最近在做用表单上传文件,想在服务端验证上传文件的类型,只允许上传GIF,JPG,ZIP, 我们有两种方法, 第一:检查文件的扩展名, 第二:检查文

PHP 批量上传文件 大全

PHP  批量上传文件 大全 案例一: <?php $file_path="uploads/"; for($i=0;$i<count($_FILES[ufile][name]);$i++){ $_FILES[ufile][name][$i]=time().$_FILES[ufile][name][$i]; //加个时间戳防止重复文件上传后被覆盖     } print_r($_FILES[ufile][name]); $filename=$_FILES[ufile][nam