Uploadcare is a file storage area for websites and applications

Hi! I want to tell you about the project, which will surely prove useful to many developers. In a few words to explain why you need it, is quite difficult, but I'll try. Uploadcare — service for apps and websites that simplify getting files from users, storage and network transfer.
Anyone who has ever done a form with
<input type="file">
knows that it's not that difficult, but there are some unpleasant moments that occur along the way. Here are some of them:— you cannot save the form file ajax;
— you cannot show the form with the currently selected file.
— if you're expecting a picture, you need to make sure that an uploaded image;
— the server must be ready to accept a large request body.
— in some frameworks the downloaded file is a source of danger;
— easy download of multiple files is fairly difficult;
— indication of the boot process is even harder;
— disk servers can result;
Uploadcare is designed to solve these problems. The work principle is very simple: you embed a form widget, with which users select files. The widget sends you the ID of the selected user file. Further you work only with this ID: store it in the database, use it to build links to files.

This eliminates many of the problems listed above. The ID can be saved via ajax. You can again pass it to the form, and the widget will know and will tell the user the file. The widget can still file to tell the user that you can load just pictures. Using the widget a user can upload multiple files. On Uploadcare suddenly running out of space, and its increase is not associated with such problems as pererazbiyeniya disk and stopping the server.
User-uploaded files attached to the account immediately. They are visible through the api, but another way to refer to them there. Only after the server confirms using a secret key and a special api method that the file is really needed, it will become public. This usually occurs after the "validation" form with the rest of the user data. Accordingly, it is possible not to worry that some user or even a malicious user can upload something that you don't need. To call api methods can be used ready libraries, which are for most popular languages and frameworks. However, if the application does not involve a server, is there a way to change this behavior: you can enable a setting in the app and widget, allowing you to save files without a secret key.
But the make file is bad. After that, they need to give. This requires a wide channel. Pictures need to pinch in a different resolution, or even a few. Another good idea for those engaged in private server, because the distribution of scores large file caches of the operating system.
This is Uploadcare is smart CDN. Like a normal CDN, it can just give the files by their ID. And can apply to them different operations. For pictures: resizing, cropping, conversion to another format, rotate and others. You report url which picture want to receive, and the CDN returns it.
Of course, to Uploadcare was ready decisions, for example, for resizing images. Or a different library that allows you to save files on the "boundless" S3. But they are still quite tiring, and they did not solve all problems. And very few people came to the realization facilities, such as downloading files from social networks and cloud services, or to the ability of the user to cut the right part of the image during the file upload. With Uploadcare, you get it automatically.

The project has two api (except CDN), which you can use directly if you have specific requirements: api download file available public key, and rest api available at the secret. This allows you to use Uploadcare, not only in the web where download files a usual thing, but on mobile devices and desktop applications. By the way, for iOS there are already ready libraries.
About the architecture of Uploadcare, you can write a separate article (by the way, can do that?). But in short, reliability is all right. Servers are amazinescom in the cloud and easily massturbate horizontally. The different functions controlled by different nodes. Even if you drop base and the main site, the CDN will continue to distribute the files, and resize pictures. For the delivery of content is responsible CloudFlare. User files are stored on S3, and have the opportunity to connect your own S3 for your account, which can be beneficial if you intend to store large files.

If the project you are interested in, but are not satisfied with something, don't hesitate to ask and offer in the comments.
Комментарии
Отправить комментарий