文件上传是项目中常见的需求,比如app项目中上传用户自定义头像、照片等需求,所以,脚本模型也是理所当然的需要支持文件上传功能了。
目前在脚本模型中,可以通过固定的集成接口upfile和自行定义一个API接口来实现文件上传的功能,请查看脚本目录下的upfile.html和base64.api两个演示;upfile.html是以multipart/form-data(post)形式上传文件,而base64.api则是将base64编码后的文件进行解码和保存成文件的过程演示。
先来讲解下base64这个,拿iOS来举例,在iOS中将选择的图片压缩并转换成NSDATA类型,比如
NSData *fData = UIImageJPEGRepresentation(self.photo, 0.5);
然后对NSData数据进行Base64编码,最后将Base64编码后的数据通过API接口上传至服务器,这是APP开发中很常用的一种方法。
而multipart/form-data这种形式呢,主要是用在html5 app的场合,当然,也可以在app中直接访问upfile接口进行操作,iOS下使用AF3进行了测试,效果如下:
这里,请注意一下参数,formData那行,需要设置name为fname,而fileName则是你的目标文件名了,返回值是json数据。