簡體   English   中英

jQuery-File-Upload插件-501(未實現)

[英]jQuery-File-Upload Plugin - 501 (Not Implemented)

這個問題是關於: https : //github.com/blueimp/jQuery-File-Upload

這個問題很具體。 我沒有開發代碼,所以我不知道什么時候哪里出錯了。

我復制到整個倉庫到我的Windows虛擬主機上運行PHP 5.3以下的設置 ,但是,使用Firefox和Chrome訪問演示頁,我可以上傳,但不能刪除。 Windows服務器已 ,仍在運行IIS6

控制台已記錄:

Firefox:
no element found

Chrome:(1st click)
Failed to load resource: the server responded with a status of 501 (Not Implemented) :http://webhost/folder/jquery-file-upload/server/php/?file=xxx.jpg

Chrome:(2nd click)
DELETE http://webhost/folder/jquery-file-upload/server/php/?file=xxx.jpg 501 (Not Implemented) 
                                  jquery.min.js:4
send                              jquery.min.js:4
n.extend.ajax                     jquery.min.js:4
$.widget.options.destroy          jquery.fileupload-ui.js:377
$.Widget._trigger                 jquery.ui.widget.js:489
$.widget._deleteHandler           jquery.fileupload-ui.js:537
(anonymous function)              jquery.ui.widget.js:105
handlerProxy                      jquery.ui.widget.js:406
n.event.dispatch                  jquery.min.js:3
r.handle                          jquery.min.js:3

並以此鏈接到php:1

{"file":{"name":"xxx.png","size":14339,"url":"http:\/\/webhost\/folder\/jquery-file-upload\/server\/php\/files\/xxx.png","thumbnailUrl":"http:\/\/www.newman.edu.hk\/appreciate\/jquery-file-upload\/server\/php\/files\/thumbnail\/xxx.png","deleteUrl":"http:\/\/webhost\/folder\/jquery-file-upload\/server\/php\/?file=xxx.png","deleteType":"DELETE"}}

我試圖檢查UploadHandler.php但整個文件對我來說似乎是模糊的UploadHandler.php

無論出於何種原因,在此報告。 我用最新的庫再次嘗試了,並且有效。 抱歉,如果您目前感到沮喪,我無法提供更多詳細信息或為您提供幫助,因為我從未記錄過這些信息。 :(

無論如何,這就是我解決問題的方式。


我也很遺憾地說其他答案對我不起作用,並且我不記得要發表評論,因為我無法在家中訪問服務器,並且在擺弄它后忘記了服務器。 請原諒我:P


PS我也切換到Dropzone.js,因為jQuery File Upload太難使用了。 我個人認為Dropzone.js允許更多自由,因為它不需要任何依賴關系。

以下是他們以Dropzone.js為主題的外觀,使其看起來像jQuery File Upload: http : //www.dropzonejs.com/bootstrap.html

我剛剛在這個問題上失去了幾個小時...也可以上傳而不是刪除...我創建了一個自定義ajax函數來手動刪除文件...並且一旦我嘗試刪除501錯誤...我發現了在UploadHandler.php中

// Set the following option to 'POST', if your server does not support
'delete_type' => 'DELETE',

我的VPS服務器不允許DELETE請求...將這一行更改為'POST'后,它不再出現501錯誤...

我已經通過放置自己的刪除按鈕代碼和Ajax腳本解決了該問題。

HTML

替換為:

<button type="button" class="btn btn-danger delete">
    <i class="glyphicon glyphicon-trash"></i>
    <span>Delete</span>
</button>
<a href="javascript:void(0)" class="delete" data-type="{%=file.deleteType%}" data-url="{%=file.deleteUrl%}"{% if (file.deleteWithCredentials) { %} data-xhr-fields='{"withCredentials":true}'{% } %}>
    <i class="fa fa-trash"></i>
</a>

有了這個:

<button type="button" class="btn btn-danger delete_us">
   <span>Delete</span>
</button>
<a href="javascript:void(0)" class="delete_me" data-name="{%=file.name%}" data-url="{%=file.url%}" data-thumb="{%=file.thumbnailUrl%}">
   <i class="fa fa-trash"></i>
</a>

jQuery的

//Delete images on select all button
jQuery(document).on('click', '.delete_us', function() {
    var total = jQuery('[name="delete"]:checked').each(function() {
        jQuery(this).parent().find('.delete_me').trigger('click');
    });
});

 //Delete single image
jQuery(document).on('click', '.delete_me', function() {
    jQuery(this).parents('.template-download').addClass('active');
    var data_thumb = jQuery(this).data('thumb');
    data_thumb = data_thumb.split('thumbnail');
    data_thumb = data_thumb[0]+'thumbnail/';

    var data_name = jQuery(this).data('name');
    var data = data_thumb+data_name;

    jQuery.ajax({
        data  : { dataThumb: data },
        url   : "<?php echo JURI::root().'ajax.php' ?>",
        type  : 'post',
        success : function(data) {
            jQuery('.template-download.active').fadeOut(500);

        }
    });
});

AJAX文件

<?php
    //Ajax file
    $data = $_POST;

    if($data['dataThumb']) {
        deleteMe($data['dataThumb']);
    }

    function deleteMe($data) {

        $data = str_replace(JURI::root(), JPATH_BASE.'/', $data);
        $thumb = str_replace('thumbnail/', '',$data);
        unlink($data);
        unlink($thumb);
    }
?>

注意:請用適當的網址替換代碼中的Joomla標准網址。

jQuery-File-Upload Plugin的HTTP'DELETE'請求在我的項目中也不起作用,因此我創建了自定義代碼來刪除圖像。 我希望這可以解決您的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM