|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
最近一直都在学习有关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(".");}functionfile_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代码:
?123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119packagecom.app.model;importjava.io.DataOutputStream;importjava.io.FileInputStream;importjava.io.IOException;importjava.io.InputStream;importjava.net.HttpURLConnection;importjava.net.URL;importandroid.app.Activity;importandroid.content.Intent;importandroid.os.Bundle;importandroid.widget.Toast;publicclassSubmitPhotoextendsActivity{/*变量声明*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*/publicstaticStringpost(StringactionUrl,StringFileName)throwsIOException{StringBOUNDARY=java.util.UUID.randomUUID().toString();StringPREFIX="--",LINEND="
";StringMULTIPART_FROM_DATA="multipart/form-data";StringCHARSET="UTF-8";URLuri=newURL(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=newDataOutputStream(conn.getOutputStream());//发送文件数据if(FileName!=""){StringBuildersb1=newStringBuilder();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=newFileInputStream(FileName);byte[]buffer=newbyte[1024];intlen=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();//失掉呼应码intres=conn.getResponseCode();InputStreamin=null;if(res==200){in=conn.getInputStream();intch;StringBuildersb2=newStringBuilder();while((ch=in.read())!=-1){sb2.append((char)ch);}}returnin==null?null:in.toString();}}以上代码已实验乐成。这个代码能够完成良多成心思的使用,好比你在户外摄影,刚拍上去,你一切的伴侣即刻都能够在你的菲薄大概空间里看到
还有很多工具需要学iOS5的SDK已经支持ARC可以自动进行release但是对iOS4的支持还有一个小问题现在要开发应用可能还需要按照之前的MRC的方式allocreleaseretainautorelease之类的内存管理方法 |
|