attachment-upload.js 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. $(document).ready(function() {
  2. var $input =$("#uploadFileInput") ;
  3. var $mediaItems = $("#media-items");
  4. var $dragDropArea = $('#drag-drop-area');
  5. $(document).on('dragover', function ()
  6. {
  7. $dragDropArea.addClass('drag-highlight');
  8. });
  9. $(document).on('dragleave drop', function ()
  10. {
  11. $dragDropArea.removeClass('drag-highlight');
  12. });
  13. function createItem(file){ //新建图片项目
  14. var item = $('<div>', {"class": "media-item"});
  15. if (!file.type || file.type.search(/image\/.*/g) !== -1) {
  16. item.removeClass('not-image').addClass('image');
  17. item.prepend($('<img/>', {src: file.url,"class":"pinkynail"}));
  18. } else {
  19. item.removeClass('image').addClass('not-image');
  20. }
  21. item.append($('<a class="edit-attachment" target="_blank" href="'+file.updateUrl+'">编辑</a>'));
  22. var title = $('<div>', {"class": "filename new"})
  23. .html('<span class="title">'+file.filename+'</span>');
  24. item.append(title);
  25. return item;
  26. }
  27. $input.fileupload({
  28. url: uploadUrl,
  29. dropZone: $dragDropArea,
  30. dataType: 'json',
  31. singleFileUploads: false,
  32. multiple: true,
  33. maxNumberOfFiles: null,
  34. maxFileSize: null, // 5 MB
  35. acceptFileTypes:null,
  36. process: true,
  37. getNumberOfFiles: function() {
  38. return $mediaItems.find('.media-item').length;
  39. },
  40. start: function (e, data) {
  41. },
  42. processfail: function(e, data) {
  43. if (data.files.error) {
  44. $.modal.error(data.files[0].error);
  45. }
  46. },
  47. progressall: function (e, data) {
  48. },
  49. done: function (e, data) {
  50. $.each(data.result.files, function (index, file) {
  51. if (!file.error) {
  52. var item = createItem(file);
  53. item.appendTo($mediaItems);
  54. } else {
  55. $.modal.error(file.errors)
  56. }
  57. });
  58. },
  59. fail: function (e, data) {
  60. $.modal.error(data.errorThrown);
  61. },
  62. always: function (e, data) {
  63. }
  64. });
  65. });