仓酷云
标题:
IOS编程之Android摄影上传的代码完成仓酷云
[打印本页]
作者:
变相怪杰
时间:
2015-1-18 11:49
标题:
IOS编程之Android摄影上传的代码完成仓酷云
最近一直都在学习有关ios(苹果系统)的知识,而学习ios的最好方法就是研究iPhone和ipad。因为iPhone和iPad的应用程序都是用Objective-C语言来开发的,所以在接触ios之前,我必须有一定的Objective-C基础。比来实验android摄影上传的功效,基础顺遂。
实验前提,
客户端,android2.2
服务器端,linux,nginxphp5.2
android代码以下:
PHP代码以下:
?1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253<?php///假如有上传文件则吸收
if
($_FILES){$target_path=$target_path.basename($_FILES[file1][name]);
try
{
if
(move_uploaded_file($_FILES[file1][tmp_name],$target_path)){echo"Thefile".basename($_FILES[file1][name])."hasbeenuploaded";}}
catch
(Exception$e){echo$e->getMessage();}}
else
///假如不是上传文件则列出图片{file_list(".");}
function
file_list($path){$im_type=
array
(bmp,jpg,jpeg,png,gif);
if
($handle=opendir($path)){
while
(false!==($file=readdir($handle))){
if
($file!="."&&$file!=".."){
if
(is_dir($path."/".$file)){file_list($path."/".$file);}
else
{
if
(strpos($file,.png,1)||strpos($file,.jpg,1)||strpos($file,.ico,1)||strpos($file,.gif,1)){echo;}}}}}}?>Android代码:
?123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
package
com.app.model;
import
java.io.DataOutputStream;
import
java.io.FileInputStream;
import
java.io.IOException;
import
java.io.InputStream;
import
java.net.HttpURLConnection;
import
java.net.URL;
import
android.app.Activity;
import
android.content.Intent;
import
android.os.Bundle;
import
android.widget.Toast;
public
class
SubmitPhoto
extends
Activity{/*变量声明*newName:上传后在服务器上的文件称号*uploadFile:要上传的文件路径*actionUrl:服务器对应的程序路径*/privateStringnewName="";privateStringuploadFile="";privateStringactionUrl="http://dev.feiren.com/uploads/android/upload.php";@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);Intentintent=this.getIntent();Bundlebundle=intent.getExtras();newName=bundle.getString("fileName");uploadFile=newName;try{Stringok=post(actionUrl,newName);Toast.makeText(this,"OK!",Toast.LENGTH_LONG).show();finish();}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}/*上传文件到Server的办法*//***@paramactionUrl*@paramparams*@paramfiles*@return*@throwsIOException*/
public
static
Stringpost(StringactionUrl,StringFileName)
throws
IOException{StringBOUNDARY=java.util.UUID.randomUUID().toString();StringPREFIX="--",LINEND="
";StringMULTIPART_FROM_DATA="multipart/form-data";StringCHARSET="UTF-8";URLuri=
new
URL(actionUrl);HttpURLConnectionconn=(HttpURLConnection)uri.openConnection();conn.setReadTimeout(5*1000);//缓存的最长工夫conn.setDoInput(
true
);//同意输出conn.setDoOutput(
true
);//同意输入conn.setUseCaches(
false
);//不同意利用缓存conn.setRequestMethod("POST");conn.setRequestProperty("connection","keep-alive");conn.setRequestProperty("Charsert","UTF-8");conn.setRequestProperty("Content-Type",MULTIPART_FROM_DATA+";boundary="+BOUNDARY);DataOutputStreamoutStream=
new
DataOutputStream(conn.getOutputStream());//发送文件数据
if
(FileName!=""){StringBuildersb1=
new
StringBuilder();sb1.append(PREFIX);sb1.append(BOUNDARY);sb1.append(LINEND);sb1.append("Content-Disposition:form-data;name="file1";filename=""+FileName+"""+LINEND);sb1.append("Content-Type:application/octet-stream;charset="+CHARSET+LINEND);sb1.append(LINEND);outStream.write(sb1.toString().getBytes());InputStreamis=
new
FileInputStream(FileName);
byte
[]buffer=
new
byte
[1024];
int
len=0;
while
((len=is.read(buffer))!=-1){outStream.write(buffer,0,len);}is.close();outStream.write(LINEND.getBytes());}//哀求停止标记
byte
[]end_data=(PREFIX+BOUNDARY+PREFIX+LINEND).getBytes();outStream.write(end_data);outStream.flush();//失掉呼应码
int
res=conn.getResponseCode();InputStreamin=
null
;
if
(res==200){in=conn.getInputStream();
int
ch;StringBuildersb2=
new
StringBuilder();
while
((ch=in.read())!=-1){sb2.append((
char
)ch);}}
return
in==
null
?
null
:in.toString();}}以上代码已实验乐成。这个代码能够完成良多成心思的使用,好比你在户外摄影,刚拍上去,你一切的伴侣即刻都能够在你的菲薄大概空间里看到
还有很多工具需要学iOS5的SDK已经支持ARC可以自动进行release但是对iOS4的支持还有一个小问题现在要开发应用可能还需要按照之前的MRC的方式allocreleaseretainautorelease之类的内存管理方法
作者:
兰色精灵
时间:
2015-1-20 08:48
自从苹果公司开放iOS SDK以来,大量的国内外的软件开发者将关注的目光聚集在苹果的iOS平台上。由于iPhone和iPad自一出现就给人带来了颠覆性的感觉
作者:
乐观
时间:
2015-1-29 06:18
iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。
作者:
愤怒的大鸟
时间:
2015-2-5 19:04
重要的是,放眼全球也的确找不到第二个如苹果iOS平台这样健壮、完整、先进而且为开发者带来真实收益的开发平台来。
作者:
小魔女
时间:
2015-2-6 15:18
最后在做项目的时候一定要认真对待,毕竟这个直接和你的就业挂钩,这也是锻炼你实际操作的能力。
作者:
柔情似水
时间:
2015-2-8 03:38
中国如今已然发展成为一个软件大国,软件人才的数量跃居全球之首。当然,在苹果平台的开发领域,也保持了相当强劲的发展势头。然而,很多初入iOS开发门槛的开发者,
作者:
爱飞
时间:
2015-2-10 22:08
近期由于IOS7的发布,所以应用的适配潮可谓是都搞的锣鼓喧天,甚是热闹,因此呢,因适配IOS7而产生的问题也是铺天盖地的卷来,
作者:
第二个灵魂
时间:
2015-3-1 16:01
从C语言入门,因为IOS开发用的是OC语言,是在C基础上的,不过也跟C不是很搭界,你可以直接学习OC语言也可以,
作者:
admin
时间:
2015-3-10 19:42
iPhone文件系统:创建、重命名以及删除文件,NSFileManager中包含了用来查询单词库目录、创建、重命名、删除目录以及获取/设置文件属性的方法(可读性,可编写性等等)。
作者:
若相依
时间:
2015-3-11 18:55
从C语言入门,因为IOS开发用的是OC语言,是在C基础上的,不过也跟C不是很搭界,你可以直接学习OC语言也可以,
作者:
因胸联盟
时间:
2015-3-12 11:49
众多研发人员积极参与到iOS平台的开发中来也就不足为奇了。
作者:
不帅
时间:
2015-3-17 12:10
AD: iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。
作者:
冷月葬花魂
时间:
2015-3-24 09:47
同很多iOS开发者一样,我也是通过培训进入到iOS开发这个行业,开始没有打算培训,只准备自己学习一些计算机编程相关的知识,毕业时找一份编程相关工作(本人是信息与计算科学这个专业,是数学系)。
作者:
小妖女
时间:
2015-3-26 08:40
还有开发工具是用Xcode,是在Mac系统的,你多摸索一下就可以开发简单的应用了,建议你买一本iphone开发秘籍第二版看看,希望可以帮到你,谢谢。
作者:
蒙在股里
时间:
2015-4-14 07:33
要学会通过各种方法将面前的事情变成自己感兴趣的,那专研起来就不会是无聊和折磨了。
作者:
海妖
时间:
2015-4-16 16:09
因为我们老师也是自学的,给我们讲课说的最多的就是百度,谷歌,查文档。
作者:
活着的死人
时间:
2015-4-17 04:01
自从苹果公司开放iOS SDK以来,大量的国内外的软件开发者将关注的目光聚集在苹果的iOS平台上。由于iPhone和iPad自一出现就给人带来了颠覆性的感觉
作者:
金色的骷髅
时间:
2015-4-18 09:48
中国如今已然发展成为一个软件大国,软件人才的数量跃居全球之首。当然,在苹果平台的开发领域,也保持了相当强劲的发展势头。然而,很多初入iOS开发门槛的开发者,
作者:
变相怪杰
时间:
2015-4-29 07:12
iPhone文件系统:创建、重命名以及删除文件,NSFileManager中包含了用来查询单词库目录、创建、重命名、删除目录以及获取/设置文件属性的方法(可读性,可编写性等等)。
作者:
再现理想
时间:
2015-6-28 06:40
在此,某不才愿将安装成功的Mac OS X系统的vmware虚拟机向有志学习iOS开发的各位学友们免费开放出来,经测试,可以在WindowsXP/Win7系统上完美运行,即便你的机器只有2GB内存。
作者:
只想知道
时间:
2015-7-8 22:29
我也从简单的状态栏适配开始,先研究了下关于状态栏的适配,特总结如下,供广大网友一起讨论交流。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2