ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 低调看直播体育app软件下载 >> IOS开发 >> AFNetworking上传图片和视频(支持多张图片上传)

AFNetworking上传图片和视频(支持多张图片上传)

来源:网络整理     时间:2015-06-30     关键词:

本篇文章主要介绍了"AFNetworking上传图片和视频(支持多张图片上传)",主要涉及到方面的内容,对于IOS开发感兴趣的同学可以参考一下: 1使用AFNetworking上传图片和视频,支持多张图片上传。以下是AFNetworking用于上传文件的关键函数。/**@param data 图片或视频...

1使用AFNetworking上传图片和视频,支持多张图片上传。以下是AFNetworking用于上传文件的关键函数。

/**

@param  data 图片或视频二进制数据

 @param name 对应服务器的字段名

 @param fileName 文件名,后缀要跟文件类型一致,不能为空

 @param mimeType 文件类型 举例 image/png  video/quicktime

 */

- (void)appendPartWithFileData:(NSData *)data

                          name:(NSString *)name

                      fileName:(NSString *)fileName

                      mimeType:(NSString *)mimeType;

主要实现代码如下:


- (void)uploadFileWithMediaData:(NSMutableArray *)mediaDatas
                          url:(NSString *)url
                        params:(id)params
{
    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
     manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/html",
                                                                               @"text/plain",
                                                                               @"application/json",nil];

    AFHTTPRequestOperation *operation = [manager POST:url
                                           parameters:nil
                            constructingBodyWithBlock:^(id formData) {

                                if (mediaDatas.count > 0) {
                                    NSObject *firstObj = [mediaDatas objectAtIndexSafe:0];
                                    if ([firstObj isKindOfClass:[UIImage class]]) {     // 图片
                                        for(NSInteger i=0; i

通过CTAssetsPickerController来选择手机相册中的视频文件的。然后通过生成一个视频文件名及地址, 并通过一个写方法, 写到该路径下, 写文件如下。

#import "ALAsset+mExport.h"

#define BufferSize 10000

@implementation ALAsset (mExport)

- (BOOL) exportDataToURL: (NSURL*) fileURL error: (NSError**) error
{
    [[NSFileManager defaultManager] createFileAtPath:[fileURL path] contents:nil attributes:nil];
    NSFileHandle *handle = [NSFileHandle fileHandleForWritingToURL:fileURL error:error];
    if (!handle) {
        return NO;
    }

    ALAssetRepresentation *rep = [self defaultRepresentation];
    uint8_t *buffer = calloc(BufferSize, sizeof(*buffer));
    NSUInteger offset = 0, bytesRead = 0;

    do {
        @try {
            bytesRead = [rep getBytes:buffer fromOffset:offset length:BufferSize error:error];
            [handle writeData:[NSData dataWithBytesNoCopy:buffer length:bytesRead freeWhenDone:NO]];
            offset += bytesRead;
        } @catch (NSException *exception) {
            free(buffer);
            return NO;
        }
    } while (bytesRead > 0);

    free(buffer);
    return YES;
}

@end

                                    

版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了AFNetworking上传图片和视频(支持多张图片上传),包括了方面的内容,希望对IOS开发有兴趣的朋友有所帮助。

本文网址链接:http://www.codes51.com/article/detail_145662.html

相关图片

相关文章