2012-07-17 30 views
6

मेरे पास मेरे एप्लिकेशन बंडल में कुछ एम्बेडेड एचटीएमएल है। मैं इसे लोड करने के लिए loadHtmlString का उपयोग कर रहा हूं। साथ ही मेरे दस्तावेज़ फ़ोल्डर में कुछ छवि फ़ाइलें भी हैं। मैं अपने आईएमजी को एचटीएमएल में अपने दस्तावेज़ फ़ोल्डर में से एक के साथ बदलना चाहता हूं।मेरे UIWebView के लोड HtmlString के लिए कैश को साफ़ करने के लिए कैसे?

 <div id="image"> 
      <a href="image"> 
       <img src="@image" class="center">    
      </a> 
     </div> 

मैं अपने दस्तावेजों में फ़ाइल पथ को @image को बदलने के लिए निम्नलिखित कोड का उपयोग कर रहा:

NSString* imgFile = [NSString stringWithFormat:@"file:///%@/%@", 
         [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Images"],@"myimage.png"]; 
    text = [text stringByReplacingOccurrencesOfString:@"@image" withString:imgFile]; 

    NSURL* baseUrl = [NSURL fileURLWithPath:[[NSBundle mainBundle] resourcePath]]; 
    [self.webView loadHTMLString:text baseURL:baseUrl];  

(पाठ एचटीएमएल है उदाहरण के लिए, यहाँ नमूना एचटीएमएल मेरे पास है मेरी एचटीएमएल फाइल का पाठ)।

यह कोड पहली बार काम करता है जब यह कोड कहा जाता है। लेकिन उदाहरण के लिए, यदि मैं myimage.png को संशोधित करता हूं और कोड को दोबारा कॉल करता हूं, तो संशोधित होने से पहले छवि अभी भी दिखाई देती है। (मैंने अपने दस्तावेज़ फ़ोल्डर में अपनी फाइल की जांच की है, यह पहले से ही सही ढंग से संशोधित है)।

मुझे संदेह है कि यह कैश के कारण होता है। क्या कोई सलाह दे सकता है?

धन्यवाद

नोट:

यह कैश के कारण होता है। मैं निम्न विधि का उपयोग कर छवि की ताज़ा प्रति लोड करने के लिए मजबूर करने के लिए UIWebView से समस्या हल हो:

NSString* imgFile = [NSString stringWithFormat:@"file:///%@/%@?t=%d", 
         [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Images"],@"myimage.png",time(NULL)]; 
    text = [text stringByReplacingOccurrencesOfString:@"@image" withString:imgFile]; 

उत्तर

7

मैं अपने यूआरएल में एक समय जोड़ने से समस्या हल हो। तो छवि कैश नहीं किया जाएगा। कृपया मेरे प्रश्नों का संदर्भ लें। सवाल बंद होने पर विचार किया जाता है।

+0

मुझे एक ही समस्या है! लेकिन मेरे मामले में मैं छवि का नाम नहीं बदल सकता। मुझे अपना वेब व्यू साफ करना है ... कोई विचार? – iWheelBuy

+0

मेरा समाधान छवि के यूआरएल को बदलना है ताकि यह कैश का उपयोग किए बिना छवि प्राप्त करने के लिए मजबूर हो। आप छवि यूआरएल क्यों नहीं बदल सकते हैं? आपको वैसे भी छवि लोड करना है, है ना? –

+0

मैंने छवि यूआरएल बदल दिया है! अभी ठीक काम करता है। यूआरएल को बदलना मुश्किल था। परियोजना बेहद बड़ी है और यह मेरी परियोजना नहीं है। वैसे भी आपका समाधान एकमात्र वोकिंग वाला साबित हुआ। धन्यवाद! – iWheelBuy

संबंधित मुद्दे