আমি কেন <img src = "C: /localfile.jpg"> করতে পারি না?


96

এইচটিএমএল ফাইল স্থানীয় (আমার সি ড্রাইভে) থাকলে এটি কাজ করে তবে এইচটিএমএল ফাইলটি কোনও সার্ভারে থাকে এবং চিত্র ফাইলটি স্থানীয় হয় is তা কেন?

কোন সম্ভাব্য কর্মক্ষেত্র?


4
আমি জিজ্ঞাসা করতে পারি আপনি কেন এমন কাজ করতে চান?
বরিস কলেনস

4
@ বরিসক্যালেনস উদাহরণস্বরূপ আমি যখন আমার নিজের মেশিনে নতুন চিত্র রাখি এবং মঞ্চে আপলোড করার পুরো প্রক্রিয়াটি আমি যেতে চাই না তখন আমি আমার মঞ্চের ওয়েবসাইটে কোনও চিত্রের পরিবর্তন পরীক্ষা করতে চাই। দেখে মনে হচ্ছে যে এটি করার একমাত্র উপায় হ'ল যাই হোক মঞ্চের পরিবর্তে চিত্রের চিত্রটিকে উন্নত পরিবেশে পরিবর্তন করা।
এক্সজি

আপনার কম প্রযুক্তিগতভাবে দক্ষ পরিচিতদের সাথে রসিকতা বাজানোর একটি দুর্দান্ত উপায়, যাতে তারা আপনাকে ভাবিয়ে তোলে যে আপনি কোনও ওয়েবসাইট হ্যাক করেছেন।
0112

এটি করার দ্রুত আর একটি উপায় হ'ল ফাইলটি আপলোড করা, গুগল ড্রাইভ বা যাই হোক না কেন চিত্রটি ইউআরএল অনুলিপি করে এটি ভিতরে আটকানsrc=""
0112

আপনার মেশিনে কেবল একটি ডেভলপমেন্ট ওয়েবসার্ভার ব্যবহার করুন। এমনকি আজকাল এটি খুব সহজ যেহেতু পিএইচপি এমনকি অন্তর্নির্মিত একটি নিয়ে আসে
মগগানআ

উত্তর:


64

এটি ক্লায়েন্ট স্থানীয় ফাইল সিস্টেম ফাইলগুলির জন্য অনুরোধ করতে পারে এবং তার মধ্যে কী আছে তা খুঁজে বের করার জন্য জাভাস্ক্রিপ্ট ব্যবহার করতে পারলে এটি একটি সুরক্ষিত দুর্বলতা হবে।

এটির একমাত্র উপায় ব্রাউজারে একটি এক্সটেনশান তৈরি করা। ফায়ারফক্স এক্সটেনশান এবং আইই এক্সটেনশানগুলি স্থানীয় সংস্থানগুলিতে অ্যাক্সেস করতে পারে। ক্রোম অনেক বেশি বিধিনিষেধযুক্ত।


4
তবুও, ফ্ল্যাশ ব্যবহারকারীরা যা কিছু নির্বাচন করে তা এমনকি ক্রোমেও অ্যাক্সেস করতে পারে
জাভিয়ের

4
এটি উত্সাহিত করেছে কারণ এটি কেন উত্তর দিয়েছে এবং এর চারপাশে কিছু উপায় দিয়েছে। আমি সম্ভবত যা করব (এবং আমি জানি যে আমি বেশি পটভূমি সরবরাহ করি নি) স্থানীয় চিত্র সরবরাহ করার জন্য একটি স্থানীয় ওয়েবসার্ভার তৈরি করা। ব্রাউজারটি সেগুলি তাদের প্রদর্শন করতে পারে।
পিটারভি

4
ফ্ল্যাশ কেবলমাত্র কোনও নীতি ফাইলের সাথে স্থানীয় সংস্থানগুলিতে অ্যাক্সেস করতে পারে বা অন্যথায় এটি স্থানীয় মোডে চলে যায় এবং এটি অন্যান্য উপায়ে সীমিত।
বেজর্ন

4
এই ভৌতিক নিরাপত্তাটি কেবল একটি ব্যাঘাত। আপনি <ইনপুট টাইপ = ফাইল> ফিল্ড সহ একটি ফর্ম থেকে এজ্যাক্সের সাথে সার্ভারে ব্যবহারকারী ফাইলগুলি আপলোড করতে পারেন, তবে আপনি যদি ব্যবহারকারীর সাথে সুন্দর হতে চান এবং একটি পূর্বরূপ দেখান, আপনি রাউন্ড ট্রিপ করতে এবং ফাইলটি আপলোড করতে হবে সার্ভার প্রথম। এটি স্থানীয়ভাবে পূর্বরূপ চিত্র তৈরির চেয়ে আরও সুরক্ষিত কীভাবে?
এমকামা

4
ব্যবহারকারীকে একটি সুন্দর প্রাকদর্শন দেখানোর জন্য আপনাকে প্রথমে সার্ভারে একটি রাউন্ড ট্রিপ করতে হবে। এটি এজেএক্সের মাধ্যমে সম্ভব। সার্ভারে কোনও ফাইল আপলোড করা কীভাবে স্থানীয়ভাবে পূর্বরূপ চিত্র তৈরি করার চেয়ে নিরাপদ? ভৌতিক সুরক্ষা কেবল অশান্তি তৈরি করে, তবে কোনও সমস্যা সমাধান করে না।
এমকামা


27

আপনি কোনও স্থানীয় এইচটিএমএল পৃষ্ঠায় অ্যাক্সেস না করা থাকলে ব্রাউজারগুলিকে স্থানীয় ফাইল সিস্টেমে অ্যাক্সেসের অনুমতি দেওয়া হয় না। আপনাকে ছবিটি কোথাও আপলোড করতে হবে। এটি যদি এইচটিএমএল ফাইলের মতো একই ডিরেক্টরিতে থাকে তবে আপনি ব্যবহার করতে পারেন<img src="localfile.jpg"/>


আমি পরম পথ "/ localfile.jpg" ব্যবহার করে একই অর্জন করার চেষ্টা করছিলাম তবে ব্রাউজারটি এটি একটি "ওয়েব চিত্র" এর মতো নেয় এবং এটি এটি খুঁজে পায় না। ধন্যবাদ!
jmojico

18

C:কোনও স্বীকৃত ইউআরআই স্কিম নয়। file://c|/...পরিবর্তে চেষ্টা করুন।


6

সত্যই সহজতম উপায় ছিল সার্ভারে ফাইল হোস্টিং যুক্ত করা।

  • আইআইএস খুলুন

  • ডিফল্ট ওয়েব সাইটের অধীনে একটি ভার্চুয়াল ডিরেক্টরি যুক্ত করুন

    • ভার্চুয়াল পাথটি আপনি ব্রাউজারে যা ব্রাউজ করতে চান তা হবে। সুতরাং আপনি যদি " সার্ভারনাম / চিত্রগুলি চয়ন করেন তবে আপনি এটি http: // সার্ভারনাম / চিত্রগুলিতে গিয়ে ব্রাউজ করতে সক্ষম হবেন
    • তারপরে সি: ড্রাইভে শারীরিক পথ যুক্ত করুন
  • সি এর ফোল্ডারে উপযুক্ত অনুমতি যুক্ত করুন: "নেটওয়র্ক সার্ভিস" এবং "আইআইএস অ্যাপপুল \ ডিফল্ট অ্যাপপুল" এর জন্য ড্রাইভ করুন

  • রিফ্রেশ

  • এবং তুমি করে ফেলেছ. আপনি এখন এই ফোল্ডারে কোনও চিত্র ব্রাউজ করতে পারেন http: //yourServerName/w যাইহোক আপনার ফোল্ডারনেইমস / ইয়োরআইমেজ.জেপজি এবং আপনার ইমগ এসসিআর-তে সেই ইউআরএল ব্যবহার করতে পারেন

আশা করি এটি কাউকে সাহায্য করবে


3

আইই 9: আপনি যদি চান যে ব্যবহারকারীর ছবিটি সার্ভারে পোস্ট করার আগে তার দিকে একবার নজর দেওয়া উচিত: ব্যবহারকারীর ওয়েবসাইটটি "বিশ্বাসযোগ্য ওয়েবসাইট তালিকায়" যুক্ত করা উচিত।


3

আমরা জাভাস্ক্রিপ্টের ফাইলআরডার () ব্যবহার করতে পারি এবং এটি স্থানীয় ড্রাইভ / ফোল্ডার ফাইল দেখানোর জন্য এটিএসডাটা URL (ফাইলসন্টেন্ট) ফাংশনটি ব্যবহার করতে পারে। ইভেন্টটিকে চিত্রে বাঁধুন তারপর জাভাস্ক্রিপ্টের শোভিউ ফাংশনটি কল করুন। এটা চেষ্টা কর -

<!doctype html>
<html>

<head>
    <meta charset='utf-8'>
    <meta name='viewport' content='width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=no;'>
    <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
    <title></title>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

    <script type="text/javascript">
    function showpreview(e) {
        var reader = new FileReader();
        reader.onload = function (e) {
            $("#previewImage").attr("src", e.target.result);
        }
        //Imagepath.files[0] is blob type
        reader.readAsDataURL(e.files[0]);
    }
    </script>
</head>
<body >
    <div>
    <input type="file" name="fileupload" value="fileupload" id="fileupload" onchange='showpreview(this)'>
    </div>
    <div>
        &nbsp;
    </div>
    <div>
    <img width="50%" id="previewImage">
    </div>
</body>
</html>

"স্থানীয় সংস্থান লোড করার অনুমতি নেই" কনসোলে ক্রোম একটি ত্রুটি ফেলেছে।
রওসইদালি

4
দেরী প্রতিক্রিয়ার জন্য দুঃখিত। আমরা যদি স্থানীয় ড্রাইভ থেকে চিত্রগুলি সরাসরি আমাদের এইচটিএমএল পৃষ্ঠার ইমগ ট্যাগে প্রদর্শন করতে চাই তবে আমাদের আপেক্ষিক পথ দেওয়া দরকার। আরেকটি সমাধান হ'ল আমরা একটি ইনপুট টাইপ ফাইল থেকে ফাইলের পাথ পাই এবং ফাইলের উত্সটি আইএমজি ট্যাগকে বরাদ্দ করি এর জন্য কোডটি আপডেট করেছি।
রবীন্দ্র বৈরাগী

@ রবীন্দ্রভাইরাগি কি এক্সপ্লোরারে কোনও ফাইল না বাছাই করে ছবিটি প্রদর্শনের কোনও উপায় আছে? আমি আপনার স্ক্রিপ্টটি ব্যবহার করার চেষ্টা করেছি এবং "স্থানীয় সংস্থান লোড করার অনুমতি নেই" এর ত্রুটিটি আমি পাইনি তবে আমি ইমেজটি উপস্থিত থাকলে সরাসরি মুদ্রণের একটি উপায় খুঁজে বার করতে চাই ...
বান্দোলেরাস

2

সুরক্ষা বিধিগুলি সম্পর্কে নিউটাংয়ের পর্যবেক্ষণটি বাদ দিয়ে আপনি কীভাবে জানতে পারবেন যে আপনার পৃষ্ঠাটি যে প্রত্যেকে দেখেছে তার সঠিক চিত্র থাকবে c:\localfile.jpg? আপনি পারবেন না। এমনকি আপনি যদি ভাবতে পারেন তবে আপনি পারবেন না। এটি একটি জিনিসের জন্য উইন্ডোজের পরিবেশকে বোঝায়।


না পারলে না। আমি প্রশ্নে খুব বেশি প্রসঙ্গ দিইনি, আমি জানি :) তবে এই ক্ষেত্রে আমরা আসলে জানতে পারি।
পিটারভি

4
যদি তিনি কেবল একটি অফিসে 10 জন ব্যবহারকারী থাকার পরিকল্পনা করেন যা সকলের উইন্ডোজ পরিবেশ এবং সি: \ লোকালফাইল.জেপিজিতে সঠিক চিত্র রয়েছে। সে লক্ষ্যে ... তিনি কেবলমাত্র সঠিক চিত্রগুলি রয়েছে তা জানার পাশাপাশি পুরোপুরি সক্ষম হবেন তবে সেগুলিও নিয়ন্ত্রণ করতে পারবেন।
নাজকা

এই প্রশ্নটি বৈধ কারণ তার প্রয়োজনটি উইন্ডোজের পরিবেশের জন্য, খুব সীমিত শ্রোতাদের পরিবেশন করা। উদাহরণস্বরূপ, আমি যখন আরডুইনো ভিত্তিক ওয়েব সার্ভার ডিজাইন করছিলাম তখন আমি একই সমস্যায় পড়েছিলাম যেখানে আরডুইনো সার্ভারের মতো একই ল্যানে একটি উইন্ডোজ পিসি ছিল client আরডুইনো ক্লায়েন্টের কাছে চিত্র সরবরাহ করতে খুব ধীর ছিল তাই আমার নিজের ক্লায়েন্ট মেশিনে ছবিগুলি সংরক্ষণ করা দরকার to
প্রশানদি

1

আপনি যা করার চেষ্টা করছেন তার দুটি সম্ভাবনা আমি দেখতে পাচ্ছি:

  1. আপনি নিজের ওয়েবপৃষ্ঠাটি একটি সার্ভারে চলমান, কম্পিউটারটিতে যে ফাইলটি তৈরি করেছেন তা সন্ধান করতে চান যা আপনি এটির নকশা করেছেন?

  2. আপনি পৃষ্ঠাটিতে দেখা পিসি থেকে এটি আনতে চান?

বিকল্প 1 কেবল অর্থবোধ করে না :)

বিকল্প 2 একটি সুরক্ষা গর্ত হবে, ব্রাউজার দর্শকের মেশিনে সামগ্রী লোড করা থেকে একটি ওয়েব পৃষ্ঠা (ওয়েব থেকে পরিবেশন করা) নিষিদ্ধ করে।

কাইল হডসন আপনাকে যা করতে হবে তা আপনাকে জানিয়েছিল, তবে এটি এতটাই প্রাথমিক যে আপনি এটি করতে চান তা বিশ্বাস করা আমার পক্ষে কঠিন hard


1

আপনি যদি গুগল ক্রোম ব্রাউজার ব্যবহার করেন তবে আপনি এটি ব্যবহার করতে পারেন

<img src="E://bulbpro/pic_bulboff.gif"   width="150px" height="200px">

তবে আপনি যদি মজিলা ফায়ারফক্স ব্যবহার করেন তবে আপনাকে "ফাইল" প্রাক্তন যুক্ত করতে হবে।

<img src="file:E://bulbpro/pic_bulboff.gif"   width="150px" height="200px">

4
ক্রোমে আমার জন্য এটি কাজ করেনি, তবে এটি আইই তে কাজ করে?
অক্টোপাস

0

আপনার পাশাপাশি ছবিটি আপলোড করতে হবে, তারপরে সার্ভারের চিত্রটিতে লিঙ্ক করুন।


0

ছবিটি ব্যবহারকারীর দ্বারা নির্বাচিত কিছু হতে হবে? একটি ইনপুট: ফাইল ট্যাগ ব্যবহার করুন এবং তারপরে তারা চিত্রটি নির্বাচন করার পরে, ক্লায়েন্টের ওয়েবপৃষ্ঠায় এটি দেখান? এটি বেশিরভাগ জিনিসের জন্য কার্যকর। এই মুহুর্তে আমি এটি IE এর জন্য কাজ করার চেষ্টা করছি তবে সমস্ত মাইক্রোসফ্ট পণ্য হিসাবে এটি একটি ক্লাস্টার কাঁটাচামচ ()।


0

আপনি যদি কেবল নিজের বা নির্দিষ্ট ক্লায়েন্টদের জন্য কোনও স্থানীয় ওয়েবসাইট স্থাপন করছেন, mklink /D MyImages "C:/MyImages"তবে ওয়েবসাইটের মূল ডিরেক্টরিতে সেন্টিমিডি অ্যাডমিন হিসাবে চালিয়ে আপনি এটি পেতে পারেন । তারপরে এইচটিএমএল-তে, <img src="MyImages/whatever.jpg">এবং এমকেইলিংক দ্বারা প্রতিষ্ঠিত প্রতীকী লিঙ্কটি আপনার সি ড্রাইভের লিঙ্কের সাথে সম্পর্কিত এসআরসি লিঙ্কটি সংযুক্ত করবে। এটি আমার জন্য এই সমস্যাটি সমাধান করেছে, সুতরাং এটি অন্যদের যারা এই প্রশ্নে আসতে সহায়তা করতে পারে।

(স্পষ্টতই এটি পাবলিক ওয়েবসাইটগুলির জন্য কাজ করবে না যেহেতু আপনি সহজেই মানুষের কম্পিউটারে সিএমডি কমান্ড চালাতে পারবেন না)


0

আমি অনেক কৌশল চেষ্টা করেছি এবং অবশেষে সি # সাইড এবং জেএস সাইডে একটি পেয়েছি। আপনি src অ্যাট্রিবিউটকে কোনও শারীরিক পাথ দিতে পারবেন না তবে আপনি ইমগ ট্যাগকে একটি src হিসাবে বেস 64 স্ট্রিং দিতে পারেন। নীচে সি # কোড উদাহরণটি দেখে নেওয়া যাক।

<asp:Image ID="imgEvid" src="#" runat="server" Height="99px"/>

সি # কোড

 if (File.Exists(filepath)
                            {
                                byte[] imageArray = System.IO.File.ReadAllBytes(filepath);
                                string base64ImageRepresentation = Convert.ToBase64String(imageArray);
                                var val = $"data: image/png; base64,{base64ImageRepresentation}";
                                imgEvid.Attributes.Add("src", val);
                            }

আশা করি এটি সাহায্য করবে


0

শুরু file:///এবং শেষ করা filenameউচিত কাজ করা উচিত:

<img src="file:///C:/Users/91860/Desktop/snow.jpg" alt="Snow" style="width:100%;">
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.