`

利用UIImage的NSData上传多表单到指定服务器 NSMutableURLRequest

PHP 
阅读更多

 

再上传图片的过程中,我用了3天时间终于把这个问题给解决了。主要是细节上总是出错。像我标示加粗的地方都是很容易出错的地方。要仔细看清楚了!少一个字符都不行!

接口类的 boundry定义

static   NSString *  const BOUNDRY = @"0xKhTmLbOuNdArY";

boundry=BOUNDRY

发送实体类:

 

@implementation SendBinaryImage

// 傳送圖片二進制流 

+(BOOL )sendImage:(NSData *)data1 boundry:(NSString *)boundry{

NSURL  *urlstring= @"http://192.168.10.88/test/test.php"; //

NSString  *contentType=[NSString  stringWithFormat:@"multipart/form-data;boundary=%@" ,boundry];

    NSMutableURLRequest  *request=[[[NSMutableURLRequest alloc] init] autorelease];

    [request  setURL: [NSURL URLWithString:urlstring]];

[request  setHTTPMethod:@"POST" ];

[request  addValue:contentType forHTTPHeaderField:@"Content-Type" ];

NSMutableData  *body=[NSMutableData  data];

NSMutableString *str=[[NSMutableString alloc] init];

[str appendFormat:@"\r\n\r\n--%@\r\n" ,boundry];

[str appendFormat: @"Content-Disposition:form-data; name=\"username\"\r\n\r\n"];

[str appendFormat:@"username" ];

[str appendFormat:@"\r\n\r\n--%@\r\n" ,boundry];

[str appendFormat: @"Content-Disposition:form-data; name=\"passwd\"\r\n\r\n"];

[str appendFormat:@"password" ];

[body appendData:[str  dataUsingEncoding:NSUTF8StringEncoding]];//application/octet-stream

[body appendData:[[NSString  stringWithFormat:@"\r\n--%@\r\n" ,boundry] dataUsingEncoding:NSUTF8StringEncoding]];

[body appendData:[[NSString stringWithFormat: @"Content-Disposition:form-data; name=\"filedata\"; filename=\"ttt.jpg\"\r\nContent-Type:application/octet-stream\r\nContent-Transfer-Encoding: binary\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; 

[body appendData:[NSData  dataWithData:data1]];

[body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n" ,boundry] dataUsingEncoding:NSUTF8StringEncoding]];

[str  release];

 

[request setHTTPBody:body]; 

NSURLResponse  *response;

NSError *err;

NSData *returnData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err];

NSString *returnString=[[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];

NSLog(returnString);

NSString *content=@"1" ;

 

    BOOL logined = [content intValue] == 1 ;

return logined;

}

+(NSString*)getBoundry{

return BOUNDRY;

}

@end

分享到:
评论
1 楼 ajxjwha 2014-03-27  
boundry这个是哪里来的?

相关推荐

    NSData 与 NSString,Byte数组,UIImage 的相互转换

    在iOS和macOS开发中,`NSData`、`NSString`以及`UIImage`是常见的数据类型,它们在不同的场景下有着各自的用途。理解并熟练掌握它们之间的转换是非常重要的,这有助于我们处理各种数据和资源。下面将详细介绍这些...

    UIImage-BlurredFrame, UIImage类别,模糊了UIImage的指定框架.zip

    UIImage-BlurredFrame, UIImage类别,模糊了UIImage的指定框架 UIImage+BlurredFrame是一个UIImage类别,模糊了UIImage的指定框架#Install使用 cocoapods 安装pod 'UIImage+BlurredFrame'#Usage

    Post a UIImage to the web

    综上所述,"Post a UIImage to the web"涉及到的IT知识涵盖了iOS开发中的图像处理、网络请求、数据编码、多部分表单上传以及错误处理等多个方面。了解并熟练掌握这些技能,对于开发能够上传图片的应用至关重要。

    iOS图片上传到服务器

    在iOS应用开发中,将图片上传到服务器是常见的功能需求,尤其在社交、电商或分享类应用中。本文将深入探讨如何实现这一过程,包括基本原理、所需技术以及实际操作步骤。 首先,我们需要理解基本的网络请求原理。iOS...

    iOS 录制视频流 转uiimage

    在iOS开发中,录制视频流并将其转换为UIImage是一项常见的需求,这通常涉及到多媒体处理、图形编程以及实时渲染等技术。下面将详细讲解这个过程涉及的知识点。 首先,我们需要了解如何在iOS上进行实时视频录制。...

    OC Extension UIImage+FHXImage(图片扩展).zip

    NSData *gifData = [NSData dataWithContentsOfFile:path]; return [UIImage sd_imageWithGIFData:gifData]; } OC Extension UIImage+FHXImage(图片扩展) 针对UIImage进行封装的工具类。 /** 输入图片颜色返回...

    ios-YBUploadView 上传图片.zip

    图片选择上传 并显示 支持 UIImage NSString NSData 三种类型的图片 一句代码都不用写 直接在Xib中拖一个View 就行了 xib设置maxCount editEnabled属性 快速集成 /** UIImage NSString NSData */ @property ...

    IOS上传图片到服务器

    在iOS开发中,将图片上传到服务器是一项常见的需求,尤其在移动应用中,用户可能需要分享照片或保存数据到云端。本教程将详细介绍如何在iOS应用程序中实现这一功能,并提供服务器端Python代码作为参考,使用Flask...

    iOS开发之image图片压缩及压缩成指定大小的两种方法

    iOS开发之image图片压缩及压缩成指定大小的两种方法 在iOS开发中,图片压缩是非常重要的一步骤,主要是为了节省内存,提高程序的效率。在这篇文章中,我们将介绍iOS开发之image图片压缩及压缩成指定大小的两种方法...

    UIImage-PDF.zip

    此外,考虑到性能优化,分类可能还包含缓存机制,避免多次加载同一个PDF页面。 在实际应用中,`UIImage-PDF`分类可以广泛应用于各种场景,如电子书应用、文档预览、PDF签名等。结合Swift或Objective-C的其他UI组件...

    UIImage-Extensions 多媒体源码_ios源码

    `UIImage+Resize`类别可能会提供如`resizeToSize:`方法,使开发者能够快速将图像缩放到指定大小,这在适应不同屏幕尺寸或节省内存时非常有用。此方法可能内部使用了图形上下文(CGContext)来绘制并截取图像的子...

    UIIMage 改变颜色和遮罩

    当你需要对图片进行颜色调整或添加遮罩效果时,可以利用UIKit框架中的各种方法和属性来实现。下面将详细介绍如何改变UIImage的颜色以及如何应用遮罩。 1. 改变UIImage颜色: - 使用`UIImageRenderingMode....

    IOS应用源码——UIImage+Sprite for iOS.rar

    在2D游戏开发中,精灵图是一种常见的优化技巧,它将多个独立的图像合并到一张大图上,这样可以减少屏幕上的图像对象数量,从而提高渲染效率。使用精灵的主要优点有: 1. 减少内存开销:相比于许多小图片,一个大...

    UIImage+Sprite+Animmation

    在iOS开发中,`UIImage`是苹果提供的一个关键类,用于处理和显示图像。这个类扩展了`UIImage`,增加了精灵(Sprite)和动画功能,让开发者能够更灵活地创建和控制游戏或应用中的动态图像。`UIImage+Sprite+Additions...

    iOSform表单上传图片文件

    这是上传图片到服务器前必要的步骤,因为大多数API接口需要的是二进制数据而不是`UIImage`对象。 接下来是网络请求部分。iOS通常使用`URLSession`进行网络通信,它可以处理HTTP/HTTPS请求。为了上传图片,我们需要...

    WebP-UIImage-源码.rar

    这个“WebP-UIImage-源码.rar”压缩包可能包含了用Objective-C或Swift实现的iOS平台上对WebP图像格式的支持,使得开发者可以直接在UIImage对象中加载和显示WebP图片。 在iOS开发中,UIImage是苹果提供的一个关键类...

    UIImage+ImageEffects

    4. **遮罩应用**:除了单纯的模糊,`UIImage+ImageEffects`可能还支持将遮罩应用到图片上,使得模糊只在特定区域内生效,增加设计的层次感。 5. **自定义滤镜**:除了模糊,这个类可能还包括其他Core Image滤镜,如...

    ios UIImage category 图片加载

    在iOS开发中,`UIImage`类是处理图片的核心组件,用于加载、显示和操作图片。在实际应用中,我们经常需要高效地加载图片以优化内存使用和应用性能。标题提到的"ios UIImage category 图片加载"是关于如何通过分类...

    swift-给UIView或UIImage高性能添加圆角生成渐变色图片等

    在Swift编程语言中,对UIView或UIImage进行高性能的圆角处理和生成渐变色图片是常见的图像操作。这些操作在用户界面设计中尤其重要,因为它们可以提升应用的视觉效果和用户体验。以下将详细介绍如何实现这些功能。 ...

Global site tag (gtag.js) - Google Analytics