【问题标题】:Dropzone.js is not uploading images to folderDropzone.js 没有将图像上传到文件夹
【发布时间】:2015-04-24 19:12:11
【问题描述】:

我一直在尝试让这个 dropzone.js 在客户的网站上运行,但它似乎不起作用。

当我上传文件时,它不会上传到照片文件夹,也不会添加到数据库中。

上传文件的页面在 www.sunkyog.com/admin/dd.php [我创建的示例页面],PHP 页面是 www.sunkyog.com/admin/up.php 和要上传到的文件夹是 www.sunkyog.com/photos。

这是我的代码:

dd.php

<head>   

<!-- 1 -->
<link href="css/dropzone.css" type="text/css" rel="stylesheet" />

<!-- 2 -->
<script src="../js/dropzone.js"></script>


</head>

<body>

<form action="http://sunkyog.com/admin/up.php" enctype="multipart/form-data" class="dropzone" id="photoUploadDropzone"></form>

<script type="text/javascript">
Dropzone.options.photoUploadDropzone = {
  paramName: "file",
  maxFilesize: 5, // MB
  maxFiles: 10,
  addRemoveLinks: true,
  acceptedFiles: "image/jpeg, image/jpg, image/png, image/gif",
  accept: function(file, done) {
    done();
  }
};
</script>
</body>

</html>

up.php

if (!empty($_FILES)) {
$tempFile = $_FILES['file']['tmp_name'];
$targetPath = "photos/";
$targetFile =  $targetPath. $_FILES['file']['name'];
move_uploaded_file($tempFile,$targetFile);

mysql_query("INSERT INTO club_photos VALUES('','photos/$tempFile','$fk_id')");
}
?>

您可以到页面http://www.sunkyog.com/admin/dd.php自己尝试,然后在上传后导航到http://www.sunkyog.com/photos/yourFileName查看是否上传。

【问题讨论】:

  • $targetPath = "sunkyog.com/photos";是不正确的。您需要填写服务器上的路径,而不是外部 HTTP 路径。可能这只是“照片/”。另外:使用 PDO 代替 mysql_query。永远不要使用 mysql_* 函数。最后:是if触发吗?如果你调试过吗?
  • 感谢您的建议。我更新了它,它仍然无法正常工作。我知道sql没有达到标准。我只是想让它工作,即使它是基本的方式。
  • 我检查了文件夹权限及其可写的 0755。
  • print_r($_FILES); 的输出是什么?
  • 什么都没有。并且控制台不显示任何错误或警告

标签: javascript php dropzone.js


【解决方案1】:
<script src="dropzone.js"></script>
<script type="text/javascript">
 Dropzone.autoDiscover = false;
 var myDropzone = new Dropzone("#form_id");
  myDropzone.options.addRemoveLinks=true;
  myDropzone.options.uploadMultiple=false;
  myDropzone.options.autoProcessQueue=false;
  myDropzone.options.url='system_message_process.php';
  myDropzone.options.maxFiles=1;
   myDropzone.options.acceptedFiles='image/*';
  function submit(){
        myDropzone.processQueue();
         myDropzone.on("success", function(file,responsenew) {
                     // alert(responsenew);
                     var response = jQuery.parseJSON(responsenew);
              });
  }
 </script>

请检查它是否手动提交,或者将 autodiscover 设置为 true 并将 processQueue 设置为 true 并再次检查是否发送了 firebug 请求。它对我来说很好用

【讨论】:

  • 表单的id应该是“form-id”。好的,我知道了
  • 它显示它已经上传了一个文件带显示“您无法上传更多文件”,但仍然无法正常工作
  • 上传请求发送的文件时是否检查了萤火虫?
猜你喜欢
  • 2013-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-25
  • 1970-01-01
  • 2021-07-16
  • 2017-04-30
  • 1970-01-01
相关资源
最近更新 更多