uploader 3.0.2 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (225) hide show
  1. data/README.rdoc +15 -0
  2. data/VERSION +1 -1
  3. data/app/controllers/uploader/uploads_controller.rb +14 -4
  4. data/lib/uploader/config.rb +6 -4
  5. data/lib/uploader/models/upload.rb +10 -2
  6. data/test/rails_test/:rails_test/public/system/locals/000/000/001/icon/rails.png +0 -0
  7. data/test/rails_test/:rails_test/public/system/locals/000/000/001/large/rails.png +0 -0
  8. data/test/rails_test/:rails_test/public/system/locals/000/000/001/medium/rails.png +0 -0
  9. data/test/rails_test/:rails_test/public/system/locals/000/000/001/original/rails.png +0 -0
  10. data/test/rails_test/:rails_test/public/system/locals/000/000/001/small/rails.png +0 -0
  11. data/test/rails_test/:rails_test/public/system/locals/000/000/001/thumb/rails.png +0 -0
  12. data/test/rails_test/:rails_test/public/system/locals/000/000/002/icon/rails.png +0 -0
  13. data/test/rails_test/:rails_test/public/system/locals/000/000/002/large/rails.png +0 -0
  14. data/test/rails_test/:rails_test/public/system/locals/000/000/002/medium/rails.png +0 -0
  15. data/test/rails_test/:rails_test/public/system/locals/000/000/002/original/rails.png +0 -0
  16. data/test/rails_test/:rails_test/public/system/locals/000/000/002/small/rails.png +0 -0
  17. data/test/rails_test/:rails_test/public/system/locals/000/000/002/thumb/rails.png +0 -0
  18. data/test/rails_test/:rails_test/public/system/locals/000/000/003/icon/rails.png +0 -0
  19. data/test/rails_test/:rails_test/public/system/locals/000/000/003/large/rails.png +0 -0
  20. data/test/rails_test/:rails_test/public/system/locals/000/000/003/medium/rails.png +0 -0
  21. data/test/rails_test/:rails_test/public/system/locals/000/000/003/original/rails.png +0 -0
  22. data/test/rails_test/:rails_test/public/system/locals/000/000/003/small/rails.png +0 -0
  23. data/test/rails_test/:rails_test/public/system/locals/000/000/003/thumb/rails.png +0 -0
  24. data/test/rails_test/:rails_test/public/system/locals/000/000/004/icon/rails.png +0 -0
  25. data/test/rails_test/:rails_test/public/system/locals/000/000/004/large/rails.png +0 -0
  26. data/test/rails_test/:rails_test/public/system/locals/000/000/004/medium/rails.png +0 -0
  27. data/test/rails_test/:rails_test/public/system/locals/000/000/004/original/rails.png +0 -0
  28. data/test/rails_test/:rails_test/public/system/locals/000/000/004/small/rails.png +0 -0
  29. data/test/rails_test/:rails_test/public/system/locals/000/000/004/thumb/rails.png +0 -0
  30. data/test/rails_test/:rails_test/public/system/locals/000/000/005/original/test.doc +0 -0
  31. data/test/rails_test/:rails_test/public/system/locals/000/000/006/icon/rails.png +0 -0
  32. data/test/rails_test/:rails_test/public/system/locals/000/000/006/large/rails.png +0 -0
  33. data/test/rails_test/:rails_test/public/system/locals/000/000/006/medium/rails.png +0 -0
  34. data/test/rails_test/:rails_test/public/system/locals/000/000/006/original/rails.png +0 -0
  35. data/test/rails_test/:rails_test/public/system/locals/000/000/006/small/rails.png +0 -0
  36. data/test/rails_test/:rails_test/public/system/locals/000/000/006/thumb/rails.png +0 -0
  37. data/test/rails_test/:rails_test/public/system/locals/000/000/007/original/test.pdf +0 -0
  38. data/test/rails_test/:rails_test/public/system/locals/000/000/008/icon/rails.png +0 -0
  39. data/test/rails_test/:rails_test/public/system/locals/000/000/008/large/rails.png +0 -0
  40. data/test/rails_test/:rails_test/public/system/locals/000/000/008/medium/rails.png +0 -0
  41. data/test/rails_test/:rails_test/public/system/locals/000/000/008/original/rails.png +0 -0
  42. data/test/rails_test/:rails_test/public/system/locals/000/000/008/small/rails.png +0 -0
  43. data/test/rails_test/:rails_test/public/system/locals/000/000/008/thumb/rails.png +0 -0
  44. data/test/rails_test/:rails_test/public/system/locals/000/000/009/icon/rails.png +0 -0
  45. data/test/rails_test/:rails_test/public/system/locals/000/000/009/large/rails.png +0 -0
  46. data/test/rails_test/:rails_test/public/system/locals/000/000/009/medium/rails.png +0 -0
  47. data/test/rails_test/:rails_test/public/system/locals/000/000/009/original/rails.png +0 -0
  48. data/test/rails_test/:rails_test/public/system/locals/000/000/009/small/rails.png +0 -0
  49. data/test/rails_test/:rails_test/public/system/locals/000/000/009/thumb/rails.png +0 -0
  50. data/test/rails_test/:rails_test/public/system/locals/000/000/010/original/test.doc +0 -0
  51. data/test/rails_test/:rails_test/public/system/locals/000/000/011/icon/rails.png +0 -0
  52. data/test/rails_test/:rails_test/public/system/locals/000/000/011/large/rails.png +0 -0
  53. data/test/rails_test/:rails_test/public/system/locals/000/000/011/medium/rails.png +0 -0
  54. data/test/rails_test/:rails_test/public/system/locals/000/000/011/original/rails.png +0 -0
  55. data/test/rails_test/:rails_test/public/system/locals/000/000/011/small/rails.png +0 -0
  56. data/test/rails_test/:rails_test/public/system/locals/000/000/011/thumb/rails.png +0 -0
  57. data/test/rails_test/:rails_test/public/system/locals/000/000/012/icon/rails.png +0 -0
  58. data/test/rails_test/:rails_test/public/system/locals/000/000/012/large/rails.png +0 -0
  59. data/test/rails_test/:rails_test/public/system/locals/000/000/012/medium/rails.png +0 -0
  60. data/test/rails_test/:rails_test/public/system/locals/000/000/012/original/rails.png +0 -0
  61. data/test/rails_test/:rails_test/public/system/locals/000/000/012/small/rails.png +0 -0
  62. data/test/rails_test/:rails_test/public/system/locals/000/000/012/thumb/rails.png +0 -0
  63. data/test/rails_test/:rails_test/public/system/locals/000/000/013/icon/rails.png +0 -0
  64. data/test/rails_test/:rails_test/public/system/locals/000/000/013/large/rails.png +0 -0
  65. data/test/rails_test/:rails_test/public/system/locals/000/000/013/medium/rails.png +0 -0
  66. data/test/rails_test/:rails_test/public/system/locals/000/000/013/original/rails.png +0 -0
  67. data/test/rails_test/:rails_test/public/system/locals/000/000/013/small/rails.png +0 -0
  68. data/test/rails_test/:rails_test/public/system/locals/000/000/013/thumb/rails.png +0 -0
  69. data/test/rails_test/:rails_test/public/system/locals/000/000/014/icon/rails.png +0 -0
  70. data/test/rails_test/:rails_test/public/system/locals/000/000/014/large/rails.png +0 -0
  71. data/test/rails_test/:rails_test/public/system/locals/000/000/014/medium/rails.png +0 -0
  72. data/test/rails_test/:rails_test/public/system/locals/000/000/014/original/rails.png +0 -0
  73. data/test/rails_test/:rails_test/public/system/locals/000/000/014/small/rails.png +0 -0
  74. data/test/rails_test/:rails_test/public/system/locals/000/000/014/thumb/rails.png +0 -0
  75. data/test/rails_test/:rails_test/public/system/locals/000/000/015/icon/rails.png +0 -0
  76. data/test/rails_test/:rails_test/public/system/locals/000/000/015/large/rails.png +0 -0
  77. data/test/rails_test/:rails_test/public/system/locals/000/000/015/medium/rails.png +0 -0
  78. data/test/rails_test/:rails_test/public/system/locals/000/000/015/original/rails.png +0 -0
  79. data/test/rails_test/:rails_test/public/system/locals/000/000/015/small/rails.png +0 -0
  80. data/test/rails_test/:rails_test/public/system/locals/000/000/015/thumb/rails.png +0 -0
  81. data/test/rails_test/:rails_test/public/system/locals/000/000/016/icon/rails.png +0 -0
  82. data/test/rails_test/:rails_test/public/system/locals/000/000/016/large/rails.png +0 -0
  83. data/test/rails_test/:rails_test/public/system/locals/000/000/016/medium/rails.png +0 -0
  84. data/test/rails_test/:rails_test/public/system/locals/000/000/016/original/rails.png +0 -0
  85. data/test/rails_test/:rails_test/public/system/locals/000/000/016/small/rails.png +0 -0
  86. data/test/rails_test/:rails_test/public/system/locals/000/000/016/thumb/rails.png +0 -0
  87. data/test/rails_test/:rails_test/public/system/locals/000/000/017/icon/rails.png +0 -0
  88. data/test/rails_test/:rails_test/public/system/locals/000/000/017/large/rails.png +0 -0
  89. data/test/rails_test/:rails_test/public/system/locals/000/000/017/medium/rails.png +0 -0
  90. data/test/rails_test/:rails_test/public/system/locals/000/000/017/original/rails.png +0 -0
  91. data/test/rails_test/:rails_test/public/system/locals/000/000/017/small/rails.png +0 -0
  92. data/test/rails_test/:rails_test/public/system/locals/000/000/017/thumb/rails.png +0 -0
  93. data/test/rails_test/:rails_test/public/system/locals/000/000/018/icon/rails.png +0 -0
  94. data/test/rails_test/:rails_test/public/system/locals/000/000/018/large/rails.png +0 -0
  95. data/test/rails_test/:rails_test/public/system/locals/000/000/018/medium/rails.png +0 -0
  96. data/test/rails_test/:rails_test/public/system/locals/000/000/018/original/rails.png +0 -0
  97. data/test/rails_test/:rails_test/public/system/locals/000/000/018/small/rails.png +0 -0
  98. data/test/rails_test/:rails_test/public/system/locals/000/000/018/thumb/rails.png +0 -0
  99. data/test/rails_test/:rails_test/public/system/locals/000/000/019/icon/rails.png +0 -0
  100. data/test/rails_test/:rails_test/public/system/locals/000/000/019/large/rails.png +0 -0
  101. data/test/rails_test/:rails_test/public/system/locals/000/000/019/medium/rails.png +0 -0
  102. data/test/rails_test/:rails_test/public/system/locals/000/000/019/original/rails.png +0 -0
  103. data/test/rails_test/:rails_test/public/system/locals/000/000/019/small/rails.png +0 -0
  104. data/test/rails_test/:rails_test/public/system/locals/000/000/019/thumb/rails.png +0 -0
  105. data/test/rails_test/:rails_test/public/system/locals/000/000/020/icon/rails.png +0 -0
  106. data/test/rails_test/:rails_test/public/system/locals/000/000/020/large/rails.png +0 -0
  107. data/test/rails_test/:rails_test/public/system/locals/000/000/020/medium/rails.png +0 -0
  108. data/test/rails_test/:rails_test/public/system/locals/000/000/020/original/rails.png +0 -0
  109. data/test/rails_test/:rails_test/public/system/locals/000/000/020/small/rails.png +0 -0
  110. data/test/rails_test/:rails_test/public/system/locals/000/000/020/thumb/rails.png +0 -0
  111. data/test/rails_test/:rails_test/public/system/locals/000/000/024/icon/rails.png +0 -0
  112. data/test/rails_test/:rails_test/public/system/locals/000/000/024/large/rails.png +0 -0
  113. data/test/rails_test/:rails_test/public/system/locals/000/000/024/medium/rails.png +0 -0
  114. data/test/rails_test/:rails_test/public/system/locals/000/000/024/original/rails.png +0 -0
  115. data/test/rails_test/:rails_test/public/system/locals/000/000/024/small/rails.png +0 -0
  116. data/test/rails_test/:rails_test/public/system/locals/000/000/024/thumb/rails.png +0 -0
  117. data/test/rails_test/:rails_test/public/system/locals/000/000/025/icon/rails.png +0 -0
  118. data/test/rails_test/:rails_test/public/system/locals/000/000/025/large/rails.png +0 -0
  119. data/test/rails_test/:rails_test/public/system/locals/000/000/025/medium/rails.png +0 -0
  120. data/test/rails_test/:rails_test/public/system/locals/000/000/025/original/rails.png +0 -0
  121. data/test/rails_test/:rails_test/public/system/locals/000/000/025/small/rails.png +0 -0
  122. data/test/rails_test/:rails_test/public/system/locals/000/000/025/thumb/rails.png +0 -0
  123. data/test/rails_test/:rails_test/public/system/locals/000/000/026/icon/rails.png +0 -0
  124. data/test/rails_test/:rails_test/public/system/locals/000/000/026/large/rails.png +0 -0
  125. data/test/rails_test/:rails_test/public/system/locals/000/000/026/medium/rails.png +0 -0
  126. data/test/rails_test/:rails_test/public/system/locals/000/000/026/original/rails.png +0 -0
  127. data/test/rails_test/:rails_test/public/system/locals/000/000/026/small/rails.png +0 -0
  128. data/test/rails_test/:rails_test/public/system/locals/000/000/026/thumb/rails.png +0 -0
  129. data/test/rails_test/:rails_test/public/system/locals/000/000/027/icon/rails.png +0 -0
  130. data/test/rails_test/:rails_test/public/system/locals/000/000/027/large/rails.png +0 -0
  131. data/test/rails_test/:rails_test/public/system/locals/000/000/027/medium/rails.png +0 -0
  132. data/test/rails_test/:rails_test/public/system/locals/000/000/027/original/rails.png +0 -0
  133. data/test/rails_test/:rails_test/public/system/locals/000/000/027/small/rails.png +0 -0
  134. data/test/rails_test/:rails_test/public/system/locals/000/000/027/thumb/rails.png +0 -0
  135. data/test/rails_test/:rails_test/public/system/locals/000/000/028/original/test.doc +0 -0
  136. data/test/rails_test/:rails_test/public/system/locals/000/000/029/original/test.doc +0 -0
  137. data/test/rails_test/:rails_test/public/system/locals/000/000/030/original/test.doc +0 -0
  138. data/test/rails_test/:rails_test/public/system/locals/000/000/031/original/test.doc +0 -0
  139. data/test/rails_test/:rails_test/public/system/locals/000/000/032/original/test.xls +0 -0
  140. data/test/rails_test/:rails_test/public/system/locals/000/000/033/original/test.xls +0 -0
  141. data/test/rails_test/:rails_test/public/system/locals/000/000/034/original/test.xls +0 -0
  142. data/test/rails_test/:rails_test/public/system/locals/000/000/035/original/test.xls +0 -0
  143. data/test/rails_test/:rails_test/public/system/locals/000/000/036/icon/rails.png +0 -0
  144. data/test/rails_test/:rails_test/public/system/locals/000/000/036/large/rails.png +0 -0
  145. data/test/rails_test/:rails_test/public/system/locals/000/000/036/medium/rails.png +0 -0
  146. data/test/rails_test/:rails_test/public/system/locals/000/000/036/original/rails.png +0 -0
  147. data/test/rails_test/:rails_test/public/system/locals/000/000/036/small/rails.png +0 -0
  148. data/test/rails_test/:rails_test/public/system/locals/000/000/036/thumb/rails.png +0 -0
  149. data/test/rails_test/:rails_test/public/system/locals/000/000/037/icon/rails.png +0 -0
  150. data/test/rails_test/:rails_test/public/system/locals/000/000/037/large/rails.png +0 -0
  151. data/test/rails_test/:rails_test/public/system/locals/000/000/037/medium/rails.png +0 -0
  152. data/test/rails_test/:rails_test/public/system/locals/000/000/037/original/rails.png +0 -0
  153. data/test/rails_test/:rails_test/public/system/locals/000/000/037/small/rails.png +0 -0
  154. data/test/rails_test/:rails_test/public/system/locals/000/000/037/thumb/rails.png +0 -0
  155. data/test/rails_test/:rails_test/public/system/locals/000/000/038/icon/rails.png +0 -0
  156. data/test/rails_test/:rails_test/public/system/locals/000/000/038/large/rails.png +0 -0
  157. data/test/rails_test/:rails_test/public/system/locals/000/000/038/medium/rails.png +0 -0
  158. data/test/rails_test/:rails_test/public/system/locals/000/000/038/original/rails.png +0 -0
  159. data/test/rails_test/:rails_test/public/system/locals/000/000/038/small/rails.png +0 -0
  160. data/test/rails_test/:rails_test/public/system/locals/000/000/038/thumb/rails.png +0 -0
  161. data/test/rails_test/:rails_test/public/system/locals/000/000/039/icon/rails.png +0 -0
  162. data/test/rails_test/:rails_test/public/system/locals/000/000/039/large/rails.png +0 -0
  163. data/test/rails_test/:rails_test/public/system/locals/000/000/039/medium/rails.png +0 -0
  164. data/test/rails_test/:rails_test/public/system/locals/000/000/039/original/rails.png +0 -0
  165. data/test/rails_test/:rails_test/public/system/locals/000/000/039/small/rails.png +0 -0
  166. data/test/rails_test/:rails_test/public/system/locals/000/000/039/thumb/rails.png +0 -0
  167. data/test/rails_test/:rails_test/public/system/locals/000/000/040/original/test.pdf +0 -0
  168. data/test/rails_test/:rails_test/public/system/locals/000/000/041/original/test.pdf +0 -0
  169. data/test/rails_test/:rails_test/public/system/locals/000/000/042/original/test.pdf +0 -0
  170. data/test/rails_test/:rails_test/public/system/locals/000/000/043/original/test.pdf +0 -0
  171. data/test/rails_test/:rails_test/public/system/locals/000/000/044/original/test.txt +1 -0
  172. data/test/rails_test/:rails_test/public/system/locals/000/000/045/original/test.txt +1 -0
  173. data/test/rails_test/:rails_test/public/system/locals/000/000/046/original/test.txt +1 -0
  174. data/test/rails_test/:rails_test/public/system/locals/000/000/047/original/test.txt +1 -0
  175. data/test/rails_test/:rails_test/public/system/locals/000/000/048/original/rails.png +0 -0
  176. data/test/rails_test/:rails_test/public/system/locals/000/000/049/original/rails.png +0 -0
  177. data/test/rails_test/:rails_test/public/system/locals/000/000/050/icon/rails.png +0 -0
  178. data/test/rails_test/:rails_test/public/system/locals/000/000/050/large/rails.png +0 -0
  179. data/test/rails_test/:rails_test/public/system/locals/000/000/050/medium/rails.png +0 -0
  180. data/test/rails_test/:rails_test/public/system/locals/000/000/050/original/rails.png +0 -0
  181. data/test/rails_test/:rails_test/public/system/locals/000/000/050/small/rails.png +0 -0
  182. data/test/rails_test/:rails_test/public/system/locals/000/000/050/thumb/rails.png +0 -0
  183. data/test/rails_test/:rails_test/public/system/locals/000/000/051/icon/rails.png +0 -0
  184. data/test/rails_test/:rails_test/public/system/locals/000/000/051/large/rails.png +0 -0
  185. data/test/rails_test/:rails_test/public/system/locals/000/000/051/medium/rails.png +0 -0
  186. data/test/rails_test/:rails_test/public/system/locals/000/000/051/original/rails.png +0 -0
  187. data/test/rails_test/:rails_test/public/system/locals/000/000/051/small/rails.png +0 -0
  188. data/test/rails_test/:rails_test/public/system/locals/000/000/051/thumb/rails.png +0 -0
  189. data/test/rails_test/:rails_test/public/system/locals/000/000/052/icon/rails.png +0 -0
  190. data/test/rails_test/:rails_test/public/system/locals/000/000/052/large/rails.png +0 -0
  191. data/test/rails_test/:rails_test/public/system/locals/000/000/052/medium/rails.png +0 -0
  192. data/test/rails_test/:rails_test/public/system/locals/000/000/052/original/rails.png +0 -0
  193. data/test/rails_test/:rails_test/public/system/locals/000/000/052/small/rails.png +0 -0
  194. data/test/rails_test/:rails_test/public/system/locals/000/000/052/thumb/rails.png +0 -0
  195. data/test/rails_test/:rails_test/public/system/locals/000/000/053/icon/rails.png +0 -0
  196. data/test/rails_test/:rails_test/public/system/locals/000/000/053/large/rails.png +0 -0
  197. data/test/rails_test/:rails_test/public/system/locals/000/000/053/medium/rails.png +0 -0
  198. data/test/rails_test/:rails_test/public/system/locals/000/000/053/original/rails.png +0 -0
  199. data/test/rails_test/:rails_test/public/system/locals/000/000/053/small/rails.png +0 -0
  200. data/test/rails_test/:rails_test/public/system/locals/000/000/053/thumb/rails.png +0 -0
  201. data/test/rails_test/:rails_test/public/system/locals/000/000/054/icon/rails.png +0 -0
  202. data/test/rails_test/:rails_test/public/system/locals/000/000/054/large/rails.png +0 -0
  203. data/test/rails_test/:rails_test/public/system/locals/000/000/054/medium/rails.png +0 -0
  204. data/test/rails_test/:rails_test/public/system/locals/000/000/054/original/rails.png +0 -0
  205. data/test/rails_test/:rails_test/public/system/locals/000/000/054/small/rails.png +0 -0
  206. data/test/rails_test/:rails_test/public/system/locals/000/000/054/thumb/rails.png +0 -0
  207. data/test/rails_test/:rails_test/public/system/locals/000/000/055/icon/rails.png +0 -0
  208. data/test/rails_test/:rails_test/public/system/locals/000/000/055/large/rails.png +0 -0
  209. data/test/rails_test/:rails_test/public/system/locals/000/000/055/medium/rails.png +0 -0
  210. data/test/rails_test/:rails_test/public/system/locals/000/000/055/original/rails.png +0 -0
  211. data/test/rails_test/:rails_test/public/system/locals/000/000/055/small/rails.png +0 -0
  212. data/test/rails_test/:rails_test/public/system/locals/000/000/055/thumb/rails.png +0 -0
  213. data/test/rails_test/:rails_test/public/system/locals/000/000/056/icon/rails.png +0 -0
  214. data/test/rails_test/:rails_test/public/system/locals/000/000/056/large/rails.png +0 -0
  215. data/test/rails_test/:rails_test/public/system/locals/000/000/056/medium/rails.png +0 -0
  216. data/test/rails_test/:rails_test/public/system/locals/000/000/056/original/rails.png +0 -0
  217. data/test/rails_test/:rails_test/public/system/locals/000/000/056/small/rails.png +0 -0
  218. data/test/rails_test/:rails_test/public/system/locals/000/000/056/thumb/rails.png +0 -0
  219. data/test/rails_test/Gemfile.lock +47 -36
  220. data/test/rails_test/test/functional/uploads_controller_test.rb +22 -0
  221. data/test/rails_test/test/test_helper.rb +6 -0
  222. data/test/rails_test/test/unit/upload_test.rb +9 -0
  223. data/uploader.gemspec +495 -319
  224. metadata +222 -41
  225. data/.gitignore +0 -5
@@ -193,6 +193,19 @@ SWFUpload version:
193
193
 
194
194
  See the uploader_helper.rb file for options. parent_object should be the object which owns the uploads. ie a user, photo_album, etc.
195
195
 
196
+ === Support for Html 5 Drag and Drop file uploads
197
+ The new XMLHttpRequest object will submit the raw file data as the only data in the request. Uploader provides support for this functionality.
198
+ The file name should be specified in the header. "X-File-Upload" must be set to true or the request will be ignored.
199
+ Here's an example of how to send data:
200
+
201
+ var xhr = new XMLHttpRequest();
202
+ xhr.open('POST', '/uploads', true);
203
+ xhr.setRequestHeader("Content-Type", file.type);
204
+ xhr.setRequestHeader("X-File-Name", file.fileName);
205
+ xhr.setRequestHeader("X-File-Size", file.fileSize);
206
+ xhr.setRequestHeader("X-File-Upload", true);
207
+ xhr.send(file);
208
+
196
209
  === Rake Tasks
197
210
 
198
211
  rake uploader:sync # will copy all required assets (css, javascript, images, migrations, etc) from uploadify into your project
@@ -310,10 +323,12 @@ Say you have chosen to display your upload in a table. Your code might look lik
310
323
 
311
324
  I put the following in my main upload view
312
325
  <% content_for :javascript do -%>
326
+ <script type="text/javascript" language="JavaScript">
313
327
  setup_submit_delete();
314
328
  function upload_completed_callback(data){
315
329
  jQuery('#upload-list').prepend(data);
316
330
  }
331
+ </script>
317
332
  <% end -%>
318
333
 
319
334
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.0.2
1
+ 3.1.0
@@ -6,14 +6,23 @@ class Uploader::UploadsController < ApplicationController
6
6
  before_filter :set_upload_for_destroy, :only => [:destroy]
7
7
 
8
8
  def create
9
- # Standard, one-at-a-time, upload action
10
- @upload = Upload.new(params[:upload])
9
+ # Standard, one-at-a-time, upload action
10
+ if request.env['HTTP_X_FILE_UPLOAD'] == 'true'
11
+ tempfile = Tempfile.new(request.env['HTTP_X_FILE_NAME'], Uploader.configuration.temp_dir)
12
+ tempfile << request.env['rack.input'].read
13
+ tempfile.flush
14
+ tempfile.rewind
15
+ @upload = Upload.new(:name => request.env['HTTP_X_FILE_NAME'], :hard_file_name => request.env['HTTP_X_FILE_NAME'])
16
+ # NOTE hard_file_name MUST be set before setting local or paperclip will process the file before the hard_file_name is set
17
+ @upload.local = tempfile
18
+ else
19
+ @upload = Upload.new(params[:upload])
20
+ end
11
21
  @upload.uploadable = @parent
12
22
  @upload.creator = get_creator
13
- @upload.save!
23
+ @upload.save!
14
24
  message = t('uploader.successful_upload')
15
25
  upload_json = basic_uploads_json(@upload)
16
-
17
26
  respond_to do |format|
18
27
  format.html do
19
28
  flash[:notice] = message
@@ -31,6 +40,7 @@ class Uploader::UploadsController < ApplicationController
31
40
  end
32
41
  format.js { render :text => message }
33
42
  format.json { render :json => { :success => false, :message => message } }
43
+ # render :json => message, :status => :unprocessable_entity
34
44
  end
35
45
  end
36
46
 
@@ -6,8 +6,8 @@
6
6
  # config.s3_no_wait = true
7
7
  # config.keep_local_file = true
8
8
  # config.has_attached_file_options = {
9
- # :url => "/system/:attachment/:id_partition/:style/:basename.:extension",
10
- # :path => ":rails_test/public/system/:attachment/:id_partition/:style/:basename.:extension",
9
+ # :url => "/system/:attachment/:id_partition/:style/:basename.:extension",
10
+ # :path => ":rails_root/public:url",
11
11
  # :styles => { :icon => "30x30!",
12
12
  # :thumb => "100>",
13
13
  # :small => "150>",
@@ -41,15 +41,17 @@ module Uploader
41
41
  attr_accessor :s3_no_wait
42
42
  attr_accessor :keep_local_file
43
43
  attr_accessor :disable_halt_nonimage_processing
44
+ attr_accessor :temp_dir
44
45
 
45
46
  def initialize
46
47
  @enable_s3 = false
47
48
  @s3_no_wait = false
48
49
  @keep_local_file = true
49
50
  @disable_halt_nonimage_processing = false
51
+ @temp_dir = Dir::tmpdir
50
52
  @has_attached_file_options = {
51
- :url => "/system/:attachment/:id_partition/:style/:basename.:extension",
52
- :path => ":rails_test/public/system/:attachment/:id_partition/:style/:basename.:extension",
53
+ :url => "/system/:attachment/:id_partition/:style/:basename.:extension",
54
+ :path => ":rails_root/public:url",
53
55
  :styles => { :icon => "30x30!",
54
56
  :thumb => "100>",
55
57
  :small => "150>",
@@ -8,7 +8,7 @@ module Uploader
8
8
  included do
9
9
 
10
10
  scope :newest, order("created_at DESC")
11
- scope :by_filename, order("local_file_name DESC")
11
+ scope :by_filename, order("local_file_name ASC")
12
12
  scope :newest, order("created_at DESC")
13
13
  scope :is_public, where('is_public = true')
14
14
  scope :images, where("local_content_type IN (#{Uploader::MimeTypeGroups::IMAGE_TYPES.collect{|type| "'#{type}'"}.join(',')})")
@@ -27,10 +27,13 @@ module Uploader
27
27
 
28
28
  before_save :determine_immediate_send_to_remote
29
29
 
30
+ before_post_process :set_hard_file_name
30
31
  before_post_process :transliterate_file_name
31
32
  before_post_process :halt_nonimage_processing unless Uploader.configuration.disable_halt_nonimage_processing
32
33
  before_create :add_width_and_height
33
34
 
35
+ attr_accessor :hard_file_name
36
+
34
37
  # Protect data in the model
35
38
  attr_protected :creator_id, :uploadable_id, :uploadable_type
36
39
  end
@@ -190,9 +193,14 @@ module Uploader
190
193
 
191
194
  protected
192
195
 
196
+ def set_hard_file_name
197
+ name = @hard_file_name || local_file_name
198
+ self.local.instance_write(:file_name, name)
199
+ end
200
+
193
201
  def transliterate_file_name
194
202
  extension = File.extname(local_file_name).gsub(/^\.+/, '')
195
- filename = local_file_name.gsub(/\.#{extension}$/, '')
203
+ filename = local_file_name.gsub(/\.#{extension}$/, '')
196
204
  self.local.instance_write(:file_name, "#{transliterate(filename)}.#{transliterate(extension)}")
197
205
  end
198
206