Revert: Feature/chunked uploads (#322)

parent 12b65738
$( document ).ready(function() {
Dropzone.autoDiscover = false;
/* Adaptation to resumable uploads
* src: https://github.com/enyo/dropzone/issues/339#issuecomment-138644461
*/
var originalDropzone = Dropzone.prototype.uploadFiles;
Dropzone.prototype.uploadFiles = function (files) {
var resumable = new Resumable ({
target: Asgard.dropzonePostUrl,
maxFiles: Dropzone.prototype.defaultOptions.maxFiles || 10,
simultaneousUploads: Dropzone.prototype.defaultOptions.parallelUploads,
headers: {
'Authorization': AuthorizationHeaderValue
},
testChunks: false
});
if (resumable.support) {
for (var j = 0; j < files.length; j++) {
var fileLocal = files[j];
resumable.addFile(fileLocal);
}
resumable.on('fileAdded', function (file) {
resumable.upload();
});
resumable.on('fileProgress', function (file) {
var progressValue = Math.floor(resumable.progress() * 100);
Dropzone.prototype.defaultOptions.uploadprogress(file.file, progressValue, null);
});
resumable.on('fileSuccess', (function(_this) {
return function (file) {
return _this._finished([file.file], "success", null);
}
})(this));
resumable.on('error', (function(_this) {
return function (message, file) {
return _this._errorProcessing([file.file], message, null);
}
})(this));
} else {
//Fallback to original implementation
return originalDropzone.apply(this, arguments);
}
};
var myDropzone = new Dropzone(".dropzone", {
url: Asgard.dropzonePostUrl,
autoProcessQueue: true,
......
This diff is collapsed.
......@@ -15,10 +15,6 @@ use Modules\Media\Http\Requests\UploadMediaRequest;
use Modules\Media\Image\Imagy;
use Modules\Media\Repositories\FileRepository;
use Modules\Media\Services\FileService;
use Pion\Laravel\ChunkUpload\Exceptions\UploadMissingFileException;
use Pion\Laravel\ChunkUpload\Handler\AbstractHandler;
use Pion\Laravel\ChunkUpload\Handler\ResumableJSUploadHandler;
use Pion\Laravel\ChunkUpload\Receiver\FileReceiver;
class MediaController extends Controller
{
......@@ -60,15 +56,9 @@ class MediaController extends Controller
* @param UploadMediaRequest $request
* @return Response
*/
public function store(Request $request)
public function store(UploadMediaRequest $request)
{
$receiver = new FileReceiver("file", $request, ResumableJSUploadHandler::class);
if ($receiver->isUploaded()) {
$save = $receiver->receive();
if ($save->isFinished()) {
$savedFile = $this->fileService->store($save->getFile());
$savedFile = $this->fileService->store($request->file('file'));
if (is_string($savedFile)) {
return Response::json([
......@@ -80,18 +70,6 @@ class MediaController extends Controller
return Response::json($savedFile->toArray());
}
else {
$handler = $save->handler();
return response()->json([
"done" => $handler->getPercentageDone()
]);
}
}
else {
throw new UploadMissingFileException();
}
}
/**
* Link the given entity with a media file
......
......@@ -109,7 +109,6 @@
{!! Theme::script('vendor/bootstrap/dist/js/bootstrap.min.js') !!}
{!! Theme::script('vendor/datatables.net/js/jquery.dataTables.min.js') !!}
{!! Theme::script('vendor/datatables.net-bs/js/dataTables.bootstrap.min.js') !!}
<script src="{!! Module::asset('media:js/resumable.js') !!}"></script>
<script src="{!! Module::asset('media:js/dropzone.js') !!}"></script>
<?php $config = config('asgard.media.config'); ?>
<script>
......
......@@ -92,7 +92,6 @@
@stop
@section('scripts')
<script src="{!! Module::asset('media:js/resumable.js') !!}"></script>
<script src="{!! Module::asset('media:js/dropzone.js') !!}"></script>
<?php $config = config('asgard.media.config'); ?>
<script>
......
......@@ -188,8 +188,6 @@ return [
Modules\Core\Providers\AsgardServiceProvider::class,
App\Providers\RouteServiceProvider::class,
Pion\Laravel\ChunkUpload\Providers\ChunkUploadServiceProvider::class
],
/*
......
<?php
return [
/**
* The storage config
*/
"storage" => [
/**
* Returns the folder name of the chunks. The location is in storage/app/{folder_name}
*/
"chunks" => "storage/app/chunks",
"disk" => "local"
],
"clear" => [
/**
* How old chunks we should delete
*/
"timestamp" => "-3 HOURS",
"schedule" => [
"enabled" => true,
"cron" => "0 */1 * * * *" // run every hour
]
],
"chunk" => [
// setup for the chunk naming setup to ensure same name upload at same time
"name" => [
"use" => [
"session" => false, // should the chunk name use the session id? The uploader must send cookie!,
"browser" => true // instead of session we can use the ip and browser?
]
]
]
];
\ No newline at end of file
$( document ).ready(function() {
Dropzone.autoDiscover = false;
/* Adaptation to resumable uploads
* src: https://github.com/enyo/dropzone/issues/339#issuecomment-138644461
*/
var originalDropzone = Dropzone.prototype.uploadFiles;
Dropzone.prototype.uploadFiles = function (files) {
var resumable = new Resumable ({
target: Asgard.dropzonePostUrl,
maxFiles: Dropzone.prototype.defaultOptions.maxFiles || 10,
simultaneousUploads: Dropzone.prototype.defaultOptions.parallelUploads,
headers: {
'Authorization': AuthorizationHeaderValue
},
testChunks: false
});
if (resumable.support) {
for (var j = 0; j < files.length; j++) {
var fileLocal = files[j];
resumable.addFile(fileLocal);
}
resumable.on('fileAdded', function (file) {
resumable.upload();
});
resumable.on('fileProgress', function (file) {
var progressValue = Math.floor(resumable.progress() * 100);
Dropzone.prototype.defaultOptions.uploadprogress(file.file, progressValue, null);
});
resumable.on('fileSuccess', (function(_this) {
return function (file) {
return _this._finished([file.file], "success", null);
}
})(this));
resumable.on('error', (function(_this) {
return function (message, file) {
return _this._errorProcessing([file.file], message, null);
}
})(this));
} else {
//Fallback to original implementation
return originalDropzone.apply(this, arguments);
}
};
var myDropzone = new Dropzone(".dropzone", {
url: Asgard.dropzonePostUrl,
autoProcessQueue: true,
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment