包详细信息

filepicker-js

filepicker30.3kMIT2.4.18

Filepicker client javascript library

filepicker, file, upload, file

自述文件

filepicker-js

Filepicker javascript client library.

Usage

In order to use filepicker javascript library in your project, you need to include the following script in your HTML:

<script type="text/javascript" src="//api.filepicker.io/v2/filepicker.js"></script>

If you want to load the javascript in a non-blocking fashion, you can use this instead:

<script type="text/javascript">
(function(a){if(window.filepicker){return}var b=a.createElement("script");b.type="text/javascript";b.async=!0;b.src=("https:"===a.location.protocol?"https:":"http:")+"//api.filepicker.io/v2/filepicker.js";var c=a.getElementsByTagName("script")[0];c.parentNode.insertBefore(b,c);var d={};d._queue=[];var e="pick,pickMultiple,pickAndStore,read,write,writeUrl,export,convert,store,storeUrl,remove,stat,setKey,constructWidget,makeDropPane".split(",");var f=function(a,b){return function(){b.push([a,arguments])}};for(var g=0;g<e.length;g++){d[e[g]]=f(e[g],d._queue)}window.filepicker=d})(document);
</script>

Script above use latest library release. Assets are compressed (gzipped) and served via CDN. You can also link to specific version.

https://api.filepicker.io/v2/filepicker-2.1.3.js https://api.filepicker.io/v2/filepicker-2.1.3.min.js

See Changelog

Filepicker library is avaliable via bower Bower friendly repositorium

$ bower install filepicker-js --save

And via npm + browserify

$ npm install filepicker-js --save

To use it with browseify place in your code:

var filepickerLibrary = require('filepicker-js');

Library provide window.filepicker with methods: setKey, pick, pickFolder, pickMultiple, pickAndStore, read, write, writeUrl, export, processImage, store, storeUrl, stat, metadata, remove, convert, constructWidget, makeDropPane. See detailed docs.

Next thing to do is setting apikey. If you dont have one - register free account here. Setting key is possible in 2 ways:

  • use filepicker.setKey('yourApiKey') method.
  • as widget attribute data-fp-apikey="yourApiKey"

Contributing

Contributing welcomed. First install npm dependencies.

npm install

To watch changes and build script run:

npm run watch

With jshint:

npm run watch-linter

Releasing

  1. When updating version be sure to update it in all files:
./VERSION
./package.json
./src/library/lib.js
  1. Set git tag with current version.

  2. Be sure to update npm package version :

    npm publish
  3. And Bower-friendly version of filepicker-js

Deployment

Filepicker

Use ansible script to deploy current version for filepicker.

source ../vagrant/aws/new && ansible-playbook -i env/production/inventory filepicker_api/deploy_js_library_v2.yml
  • optionally to deploy from branch othter than master

    -e emergency_deploy="yes"
  • optionally not to overwrite edge version

    -e edge_version="no"

It overwrites filepicker.js with current version. It creates versioned files, eg for v2.4.0:

Filestack

source ~/.filepicker/aws_new && ansible-playbook -i env/production filestack_api/build_js.yml

Its working basically the same. The only diffrents is domain and file name it creates. https://api.filestackapi.com/filestack.js

更新日志

Changelog

2.4.18 (03.10.2016)

  • Make try/catch block less aggressive #46

2.4.17 (17.08.2016)

  • Fix storeUrl regex #43
  • Guard for malformed messages #44

2.4.16 (29.07.2016)

  • Bugfix for logout() method

2.4.15 (28.07.2016)

  • Added logout() method #41

2.4.13 & 2.4.14 (30.06.2016)

  • Fixed issue #21

2.4.12 (24.06.2016)

  • Blobs support in filepicker.store() method. #37

2.4.11 (19.05.2016)

  • Pass converted property to blob in onSuccess callback

2.4.10 (05.05.2016)

  • Replace cdn urls for preview widget #34

2.4.9 (04.05.2016)

  • Passing crop and rotation data to blob #33

2.4.8 (25.04.2016)

  • Handle HTTP server errors #32

2.4.7 (07.04.2016)

  • Extensions are case insensitive now #31

2.4.5 (25.02.2016)

  • Widget button rebranded to FileStack #29

2.4.4 (16.02.2016)

  • Add filtering support to audio client #28

2.4.3 (09.02.2016)

  • Add storeRegion option to the picker. #19
  • Added option for setting video & webcam resolution #20

2.4.2 (08.02.2016)

  • Responsive images lookup can be triggered at any time. #23
  • Fix typo in data-fp-custom-source-conatiner attribute name. #27

2.4.1 (05.02.2016)

  • Allow every image to be processed. #25

2.3.8 (22.01.2016)

  • Handle safari standalone mode #11

2.3.7 (20.01.2016)

  • Parse options.noFileReader parameter for server vars #17

2.3.6 (15.01.2016)

  • Bugfix for dialog close method.

2.3.5 (15.01.2016)

  • Add ability to close opened dialog from JavaScript. #15
  • Reckognize .vob file extension. #16

2.3.4 (12.01.2016)

  • Add custom source container and path options for html widgets attributes list. #13

2.3.3 (16.12.2015)

  • Hotfix. Missing slash in processing base url.

2.3.2 (16.12.2015)

  • Set dynamicly domain for processing.

2.3.1 (23.11.2015)

  • Add custom source path as a picker option #7

2.3.0 (18.11.2015)

  • Add custom source bucket name as a picker option #5
  • Add custom css url option for viewer #6

2.2.1 (5.11.2015)

  • Add custom text option to the widget options. #4

2.2.0 (3.11.2015)

  • Add responsive images feature. #1

2.1.3 (15.10.2015)

  • Add prepublish action. Make sure to build dist version before publishing to npm.

2.1.2 (15.10.2015)

  • Fix. Filtering allowed conversions. Use hasOwnProperty method.

2.1.1 (09.10.2015)

  • Do not use Array.filter and Array.indexOf methods. Support IE8.

2.1.0 (06.10.2015)

  • Add filepicker debug script.
  • Add client value to response object.

2.0.0 (28.09.2015)

  • init filepicker-js repository as separate module