asp.net - ImageResizer - The process cannot access the file because it is being used by another process -
यह पंक्ति त्रुटि फेंक रहा है: किसी भी विचार क्यों? मेरा सुझाव है कि छवि रीज़िजर का उपयोग करने के लिए समीक्षा। आप यहां क्या हासिल करने की कोशिश कर रहे हैं, संभवतः इसके साथ प्राप्त हो सकता है। ImageBuilder.Current.Build (imgURL, imgURL, resizeImg);
सार्वजनिक शून्य सेटइमजिज़ (स्ट्रिंग नियंत्रण आईडी, स्ट्रिंग फाइलनाम) {दशमलव currentWidth = 0; दशमलव वर्तमानहाइट = 0; Int maxFileWidth = 600; Int maxFileHeight = 600; Bool imageExists = false; स्ट्रिंग imgURL = "~ / SODocs /" + सोनम + "/" + फाइलनाम; स्ट्रिंग imgPath = Server.MapPath (imgURL); अगर (फ़ाइल। एक्सिस (आईएमजीपीएएच)) {imageExists = true; System.Drawing.Image imgFile = System.Drawing.Image.FromFile (imgPath); छवि imgControl = FindControl (controlId) छवि के रूप में; Int maxDisplayWidth = 273; Int maxDisplayHeight = 200; CurrentWidth = कन्वर्ट.ToDecimal (imgFile.Width); CurrentHeight = कन्वर्ट.ToDecimal (imgFile.Height); Int newDisplayWidth = 0; Int newDisplayHeight = 0; Int paddingHeight = 0; अगर (वर्तमानहाइट & gt; वर्तमान वाइड) {imgControl.Height = maxDisplayHeight; NewDisplayWidth = कन्वर्ट.ToInt32 ((maxDisplayHeight / currentHight) * वर्तमानWidth); ImgControl.Width = newDisplayWidth; ImgControl.Style.Add ("मार्जिन", "0 ऑटो"); } और यदि (वर्तमान वाइड & gt; वर्तमानहाइट) {newDisplayHeight = Convert.ToInt32 ((maxDisplayWidth / currentWidth) * वर्तमानहाइट); If (newDisplayHeight & gt; maxDisplayHeight) {// सेट करें newWidth maxHeight newDisplayWidth = कन्वर्ट.ToInt32 पर आधारित ((maxDisplayHeight / currentHeight) * currentWidth); ImgControl.Width = newDisplayWidth; ImgControl.Style.Add ("मार्जिन", "0 ऑटो"); } अन्य {imgControl.Width = maxDisplayWidth; } PaddingHeight = maxDisplayHeight - newDisplayHeight; ImgControl.Style.Add ("पैडिंग-टॉप", पैडिंग हैइट। टॉस्ट्रिंग () + "पीएक्स"); } ImgControl.ImageUrl = imgURL; imgFile.Dispose (); ImgFile = null; यदि (imageExists) {// इमेज फ़ाइल का आकार बदलता है, यदि (वर्तमान वाइड & gt; अधिकतमफ़ाइलवेडथ | वर्तमानहाइट & gt; अधिकतमफ़ाइलहाइट) {var resizeImg = नया ResizeSettings (); ResizeImg.MaxWidth = maxFileWidth; ResizeImg.MaxHeight = maxFileHeight; ImageBuilder.Current.Build (imgURL, imgURL, resizeImg); }}
आप अलग से पढ़ने के लिए फ़ाइल खोल रहे हैं, लेकिन उम्मीद है बाद में इसे लिखने में सक्षम होने के लिए ImageResizer सिस्टम। ड्राइंग ठीक से फ़ाइल लॉकिंग को संभाल नहीं करता है, और। दुर्भावना () मेमोरी लीक से निपटने के लिए पर्याप्त नहीं है और न ही फ़ाइल एक्सेस समस्या का सामना करना पड़ रहा है।
Comments
Post a Comment