diff --git a/README.md b/README.md
index 5fbfc348..b7ca93fd 100644
--- a/README.md
+++ b/README.md
@@ -27,6 +27,98 @@ qiniu-js-sdk
* Plupload ,建议 2.1.1 及以上版本
* qiniu.js,SDK主体文件,上传功能\数据处理实现
+### 常见问题
+
+七牛提供基于plupload插件封装上传的demo `http://jssdk.demo.qiniu.io/`,如果不需要plupload插件可以参考`https://github.com/iwillwen/qiniu.js/tree/develop`,这里主要针对基于plupload插件的方式讲解遇到的一些问题,通过参考plupload文档资料,可以对七牛的demo进行修改,以满足自己的业务需求,plupload插件的使用文档可以参考`http://www.cnblogs.com/2050/p/3913184.html`
+
+**1.关于上传文件命名问题,可以参考:**
+在main.js里面,unique_names是plupload插件下面的一个参数,当值为true时会为每个上传的文件生成一个唯一的文件名,这个是plupload插件自动生成的,如果设置成false,七牛这边是会以上传的原始名进行命名的。
+1).上传的socpe为bucket的形式,unique_names参数设置为false,上传后文件的key是本地的文件名abc.txt
+2).上传的scope为bucket的形式,unique_names参数设置为true,plupload插件会忽略本地文件名,而且这个命名也是没有规律的,上传后文件的key是plupload插件生成的,比如Yc7DZRS1m73o.txt。
+3).上传的scope为bucket:key的形式,上传文件本地的名字需要和scope中的key是一致的,不然会报错key doesn‘t match with scope, 注意,这种形式是不能设置unique_names为true的,因为即使上传文件本地名字为abc.txt,但是plupload会给这个文件赋值另外一个文件名。
+4).上传的scope为bucket,但是token中有设定saveKey,这种形式save_key是应该设置为true,并且上传的本地文件名也是需要和这个savekey文件名一致的。
+5).通过JS前端设置上传的key,在main.js文件里面设置如下:
+```
+ 'Key': function(up, file) {
+ var key = "";
+ // do something with key
+ return key
+ }
+```
+这个默认是注销的,若想在前端对每个文件的key进行个性化处理,可以配置该函数
+该配置必须要在 unique_names: false , save_key: false 时才生效
+取消注销后,其优先级要高于:qiniu.js文件中getFileKey。
+
+**2.设置自定义预览样式**
+```
+该设置在ui.js 文件里,默认为
+var imageView =‘?imageView2/1/w/100/h/100’
+可修改成
+var imageView = ‘样式符+样式名’
+```
+
+**3.关于设置取消上传可以参考:**
+http://stackoverflow.com/questions/11014384/cancel-file-upload-listener
+(文件plupload.dev.js 1950行 removeFile : function(file) 方法)
+
+**4.限制上传文件的类型:**
+ 这里又分为两种方法:
+ 1).通过在token中设定mimeLimit字段限定上传文件的类型,示例
+“image/*“表示只允许上传图片类型;
+“image/jpeg;image/png”表示只允许上传jpg和png类型的图片;
+“!application/json;text/plain”表示禁止上传json文本和纯文本。(注意最前面的感叹号)
+ 2).通过plupload中设定filter参数直接在JS前端限定,如下
+```
+//可以使用该参数来限制上传文件的类型,大小等,该参数以对象的形式传入,它包括三个属性:
+ filters : {
+ max_file_size : '100mb',
+ prevent_duplicates: true,
+ //Specify what files to browse for
+ mime_types: [
+ {title : "flv files", extensions : "flv"} //限定flv后缀上传格式上传
+ {title : "Video files", extensions : "flv,mpg,mpeg,avi,wmv,mov,asf,rm,rmvb,mkv,m4v,mp4"}, //限定flv,mpg,mpeg,avi,wmv,mov,asf,rm,rmvb,mkv,m4v,mp4后缀格式上传
+ {title : "Image files", extensions : "jpg,gif,png"}, //限定jpg,gif,png后缀上传
+ {title : "Zip files", extensions : "zip"} //限定zip后缀上传
+ ]
+ },
+
+```
+
+**5.设置每次只能选择一个文件**
+通过plupload插件中的multi_selection参数控制,如下
+```
+//设置一次只能选择一个文件
+ multi_selection: false,
+```
+
+**6.设置取消上传,暂停上传**
+在index.html中加入者两个控制按钮:
+```
+
+ 确认上传
+
+
+ 暂停上传
+
+```
+然后在main.js文件里面绑定这两个按钮,添加代码如下:
+```
+$('#up_load').on('click', function(){
+ uploader.start();
+});
+$('#stop_load').on('click', function(){
+ uploader.stop();
+});
+```
+
+**7.取消分片上传**
+ 将main.js 里面 chunk_size: '4mb'设置chunk_size: '0mb' ,注意分片上传默认也只能是4M,如果设置一个别的分片的大小会出现上传失败。
+
+**8.取消自动上传**
+将main.js文件auto_start参数改成auto_start: false
+
+**9.关于请求token出现跨域**
+因为都是建议用户从后端SDK获取token,然后在main.js设置参数uptoken_url: '获取uptoken的url', 这里就有可能出现跨域的现象,此时在服务端添加 response.setHeader("Access-Control-Allow-Origin","*"); 相应头字段即可。
## 安装和运行程序
* 服务端准备
@@ -382,3 +474,5 @@ qiniu-js-sdk
## 基于 GPL V2 协议发布:
> [www.gnu.org/licenses/gpl-2.0.html](http://www.gnu.org/licenses/gpl-2.0.html)
+
+