AJAX

2016-12-23 9 views
5

के साथ 50kb से बड़ी फ़ाइलों को अपलोड नहीं कर सकता है। मुझे यकीन नहीं है कि मेरा कोड नीचे मेरी साइट पर 50kb से बड़ी फ़ाइलों को संभाल नहीं लेता है, हालांकि मैं स्थानीयहोस्ट पर ठीक काम करता हूं।AJAX

मैंने कई अलग-अलग फ़ाइल आकारों का परीक्षण किया और मुझे पूरा यकीन है कि 50kb इसकी सीमा है। यदि फ़ाइल 50kb से बड़ी है, तो यह process.php को कभी भी पास नहीं होती है। अगर फ़ाइल 50kb से छोटी है, तो यह process.php ठीक हो जाएगी।

क्या कोई इसे ठीक करने में मेरी सहायता कर सकता है। मैं घंटों तक इस समस्या में फंस गया हूं।

मैंने upload_max_filesize को php.ini से 5M में सेट किया था।

$(document).ready(function() { 
    $('#img_uploader').on('change', function() 
    { 
     uploadFiles(this.files); 
    } 
}); 

function uploadFiles(fileList) 
{ 
    var xhr = new XMLHttpRequest(); 
    var formData = new FormData(); 

    for (var i = 0; i < fileList.length; i++) { 
     var file = fileList[i]; 
     if (!file.type.match('image.*')) { 
      continue; 
     } 
     formData.append('photos[]', file); 
     formData.append('request', "uploadImg"); 
    } 

    xhr.open('POST', 'process.php', true); 
    xhr.onload = function() { 
     if (xhr.status === 200) { 
      var data = xhr.responseText; 
      console.log(data); 
      //convert_json_append_HTML(data); 
     } else { 
      alert('An error occurred!'); 
     } 
    }; 
    xhr.send(formData); 
} 

अपडेट किया गया: टेस्ट परिणाम

मैं 6 घंटे बिताया था बस समस्या का पता लगाने की।

यह वास्तव में कमजोर है।

सभी जावास्क्रिप्ट और PHP कोड की समीक्षा करने के लिए 1/4 घंटे, यह सुनिश्चित करने के लिए प्रत्येक चरण को लॉग इन किया गया कि कोड के साथ कुछ भी गलत नहीं था।

  • सभी परिदृश्यों के साथ स्थानीयहोस्ट पर परीक्षण किया गया। यह पूरी तरह से काम किया।

2/इन तीन वैरिएबल को बदलने से समस्या को ठीक नहीं किया गया है, चाहे मैं किस सीमा को सेट करता हूं। इसलिए मैंने उन्हें डिफ़ॉल्ट रूप से बदल दिया।

  • upload_max_filesize
  • memory_limit
  • post_max_size

3/ब्राउज़र परीक्षण:

निर्मित 2 फ़ाइलें: test_1.php और test_2.php। (मूल HTML, कोई जावास्क्रिप्ट शामिल)

test_1.php

<form action="test2.php" method="post" enctype="multipart/form-data"> 
    Select image to upload: 
    <input type="file" name="fileToUpload" id="fileToUpload"> 
    <input type="submit" value="Upload Image" name="submit"> 
</form> 

test_2।php

<?php 
var_dump($_FILES); 

HTTP:

क्रोम:

  • फ़ाइलें < 50kb: पारित कर दिया
  • फ़ाइलें> 50kb: पारित कर दिया

फ़ायरफ़ॉक्स:

  • फ़ाइलें < 50kb: पारित कर दिया
  • फ़ाइलें> 50kb: पारित कर दिया

इंटरनेट एक्सप्लोरर:

  • फ़ाइलें < 50kb: पारित कर दिया
  • फ़ाइलें> 50kb: पारित कर दिया

HTTPS

क्रोम:

  • फ़ाइलें < 50kb: पारित कर दिया
  • फ़ाइलें> 50kb: में विफल रहा है

फ़ायरफ़ॉक्स:

  • फ़ाइलें < 50kb: पारित कर दिया
  • फ़ाइलें> 50kb: पारित कर दिया

इंटरनेट एक्सप्लोरर:

  • फ़ाइलें < 50kb: पारित कर दिया
  • फ़ाइलें> 50kb: पारित कर दिया

मुझे यकीन है कि नहीं कर रहा हूँ क्यों फ़ाइल क्रोम के साथ HTTPS प्रोटोकॉल पर testk.php से test_2.php तक 50kb से बड़ा नहीं किया जा सकता है। क्या यहां कोई कारण है? या इसे अपने सर्वर पर परीक्षण करने का प्रयास कर सकते हैं।

+0

वेब सर्वर त्रुटि लॉग फ़ाइलों की जाँच की? – Spacedman

+0

आपको जो भी त्रुटि मिलती है? आप ब्राउजर कंसोल, सर्वर के एक्सेस लॉग देख सकते हैं। –

+0

की जांच करनी है 3 चर रहे हैं, upload_max_filesize, memory_limit, और post_max_size। फ़ाइल अपलोड करने के लिए सभी 3 तस्वीर में आते हैं। – GeekAb

उत्तर

1

मैं इस मुद्दे पता लगा के लिए वांछित मूल्यों को निर्धारित करने की जरूरत है।

Kaspersky इंटरनेट सुरक्षा स्वचालित रूप से क्रोम के साथ भरी हुई किसी भी वेब पृष्ठों में एक स्क्रिप्ट इंजेक्शन (आईई, और एफएफ प्रभावित नहीं होती)।

स्क्रिप्ट अवरोध किसी भी पैकेज HTTPS प्रोटोकॉल पर वेब सर्वर के लिए भेजा 50kb से भी बड़ा।

enter image description here

  • समाधान: Kaspersky इंटरनेट सुरक्षा> सेटिंग> अतिरिक्त> नेटवर्क>

    • सही का निशान हटाएँ
  • "वेब पृष्ठों के साथ बातचीत करने के लिए वेब यातायात में स्क्रिप्ट सम्मिलित करें"

enter image description here

+0

आपने मुझे खुद को मारने से बचाया! मैं इस मुद्दे को हल करने के लिए पिछले 36 घंटों के लिए काम कर रहा था। दोस्त बहुत - बहुत धन्यवाद! इस से सिर्फ एक सुधार एफएफ भी प्रभावित है .. मुझे EDGE के बारे में पता नहीं है –

3

आप 3 चर Check this tutotial

  • upload_max_filesize
  • memory_limit
  • post_max_size
+0

ये तीन चर मेरी समस्या के कारणों का नहीं हैं। समस्या अभी भी कोई फर्क नहीं पड़ता कि सीमा कितनी बड़ी है। कृपया मेरा अद्यतन विवरण देखें। 50kb –

+0

आप HTTPS के लिए सर्वर लॉग की जाँच की क्रोम लो। कोई त्रुटि लॉग इन नहीं हुई थी। – GeekAb

+0

हाँ मैंने किया था फ़ाइलें>: –