نمایش نتایج 1 تا 6 از 6

نام تاپیک: آپلود تصویر

  1. #1

    آپلود تصویر

    سلام و خسته نباشید.
    دوستان از کی سعی بر آپلود یه تصویر تو مسیر جاری دارم ولی متاسفانه همش مسیر رو میبره به درایو C که ربطی به مسیر جاری بنده نداره. و امکان آپلود تصویر رو ندارم.
    در Page

    public async Task<IActionResult> OnPostAsync()
    {
    if (ModelState.IsValid)
    {
    if (Image != null)
    {

    var fileContent = ContentDispositionHeaderValue.Parse(Image.ContentD isposition);

    // Some browsers send file names with full path.
    // We are only interested in the file name.
    var fileName = GetUniqueName(Path.GetFileName(fileContent.FileNam e.ToString().Trim('"')));

    //The below line gives the error
    //var physicalPath = Path.Combine(HostingEnvironment.WebRootPath, "App_Data", fileName);

    //and I replace with this (but we can use this variable at multiple location by assign a physical path)
    // var physicalPath = Path.Combine(Path.Combine(Directory.GetCurrentDire ctory(), "wwwroot"), "Images", fileName);
    var physicalPath = $"{Directory.GetCurrentDirectory()}{@"\wwwroot\ima ges"+ fileName}";

    //The files are not actually saved in this demo
    using (var fileStream = new FileStream(physicalPath, FileMode.Create))
    {
    await Image.CopyToAsync(fileStream);
    }
    string link = physicalPath;
    Phone.Photo = link.ToString();


    phones.Insert(this.Phone.Name, this.Phone.Last, this.Phone.Photo, this.Phone.Email, this.Phone.Mobile);
    }


    }
    return Page();
    }


    تصویر خطا
    2019-01-11_00-56-22.jpg
    دوستان اگه فایلی برای آپلود تصویر فقط خواهشا با PageMode Asp Core باشه نه Controller روی اینترنت هرچی میگردم 90 درصد Controller میاره ولی من Controller نمیخوام کار کنم Page میخوام کار کنم دستور آپلود تصویر داشته باشید فایلش رو ممنون میشم.

  2. #2
    بنیان گذار Barnamenevis آواتار مهدی کرامتی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    کرج، گلشهر
    سن
    46
    پست
    6,379

    نقل قول: آپلود تصویر

    سلام
    خطی که آدرس محل ذخیره فایل را محاسبه می کند میبایست به این شکل باشد:
    var physicalPath = Path.Combine(Server.MapPath("~/","Images"));

  3. #3

    نقل قول: آپلود تصویر

    سلام و خسته نباشبد در آپلود تصویر با این خطا مواجه شدم که میگه دسترسی مقدور نیست.
    2019-01-14_11-37-38.jpg
    و از این دستورات استفاده میکنم.

    private IHostingEnvironment _hostingEnvironment;
    public IndexModel(IHostingEnvironment hostingEnvironment)
    {
    _hostingEnvironment = hostingEnvironment;
    }
    public async Task OnPostAsync(IFormFile image)
    {
    // var path = Path.Combine( Directory.GetCurrentDirectory(), "wwwroot/uploads", image.FileName);
    string folderName = "Upload";
    string webRootPath = _hostingEnvironment.WebRootPath;
    string newPath = Path.Combine(webRootPath, folderName);
    if (!Directory.Exists(newPath))
    {
    Directory.CreateDirectory(newPath);
    }
    var memory = new MemoryStream();
    using (var stream = new FileStream(newPath, FileMode.Create))
    {
    await image.CopyToAsync(stream);
    }

    جستجو هم کردم و این کارها رو داخل Startup.cs
    انجام دادم. ولی جوابی نگرفتم.

    public Startup(IConfiguration configuration)
    {
    Configuration = configuration;
    }

    public IConfiguration Configuration { get; }

    // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
    // services.Configure<CookiePolicyOptions>(options =>
    // {
    // // This lambda determines whether user consent for non-essential cookies is needed for a given request.
    // options.CheckConsentNeeded = context => true;
    // options.MinimumSameSitePolicy = SameSiteMode.None;
    // });


    // services.AddMvc().SetCompatibilityVersion(Compatib ilityVersion.Version_2_2);
    services.AddMvc();
    services.AddAntiforgery(o => o.HeaderName = "XSRF-TOKEN");

    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(ILoggerFactory loggerFactory,IApplicationBuilder app, IHostingEnvironment env)
    {
    //if (env.IsDevelopment())
    //{
    // app.UseDeveloperExceptionPage();
    //}
    //else
    //{
    // app.UseExceptionHandler("/Error");
    // // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
    // app.UseHsts();
    //}

    //app.UseHttpsRedirection();
    //app.UseStaticFiles();
    //app.UseCookiePolicy();
    app.UseStaticFiles();
    //app.UseMvc();
    if (env.IsDevelopment())
    {
    app.UseDeveloperExceptionPage();
    //app.UseBrowserLink();
    }
    else
    {
    app.UseExceptionHandler("/Error");
    }

    app.UseStaticFiles();

    app.UseMvc(routes =>
    {
    routes.MapRoute(
    name: "default",
    template: "{controller}/{action=Index}/{id?}");
    });

  4. #4
    بنیان گذار Barnamenevis آواتار مهدی کرامتی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    کرج، گلشهر
    سن
    46
    پست
    6,379

    نقل قول: آپلود تصویر

    سلام.


    1. در File Explorer روی فولدر آپلود تان رایت کلیک کنید و Properties را انتخاب کنید.
    2. در تب Security کاربر Network Service را در لیست کاربران انتخاب کنید و دسترسی Full به آن بدهید.

  5. #5

    نقل قول: آپلود تصویر

    نقل قول نوشته شده توسط مهدی کرامتی مشاهده تاپیک
    سلام.


    1. در File Explorer روی فولدر آپلود تان رایت کلیک کنید و Properties را انتخاب کنید.
    2. در تب Security کاربر Network Service را در لیست کاربران انتخاب کنید و دسترسی Full به آن بدهید.
    سلام ممنون بابت کمکتان دسترسی نداد الان چه کاری باید انجام بیدم این هم دستورات بنده.

    public void OnGet()
    {

    }
    private IHostingEnvironment _hostingEnvironment;
    public IndexModel(IHostingEnvironment hostingEnvironment)
    {
    _hostingEnvironment = hostingEnvironment;
    }
    public async Task OnPostAsync(IFormFile image)
    {
    // var path = Path.Combine( Directory.GetCurrentDirectory(), "wwwroot/uploads", image.FileName);
    string folderName = "Upload";
    string webRootPath = _hostingEnvironment.WebRootPath;
    string newPath = Path.Combine(webRootPath, folderName);
    if (!Directory.Exists(newPath))
    {
    Directory.CreateDirectory(newPath);
    }
    var memory = new MemoryStream();
    using (var stream = new FileStream(newPath, FileMode.Create))
    {
    await image.CopyToAsync(stream);
    }
    }

  6. #6
    بنیان گذار Barnamenevis آواتار مهدی کرامتی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    کرج، گلشهر
    سن
    46
    پست
    6,379

    نقل قول: آپلود تصویر

    اشکال کار اینجا بود که شما دارید تو کدتون سعی می کنید فایل رو بعنوان یک دایرکتوری ذخیره کنید!
    کد صحیح اش این طوری میشه:
    public async Task OnPostAsync(IFormFile image)
    {
    // var path = Path.Combine( Directory.GetCurrentDirectory(), "wwwroot/uploads", image.FileName);
    string folderName = "Upload";
    string webRootPath = _hostingEnvironment.WebRootPath;
    string newPath = Path.Combine(webRootPath, folderName);
    if (!Directory.Exists(newPath))
    {
    Directory.CreateDirectory(newPath);
    }
    var filename = Path.Combile(newPath,Path.GetFilename(image.Filena me));
    var memory = new MemoryStream();
    using (var stream = new FileStream(filename, FileMode.Create))
    {
    await image.CopyToAsync(stream);
    }
    }

تاپیک های مشابه

  1. ادامه فصل دوم آموزش توابع پردازش تصویر در Matlab-تبدیل نوع تصویر
    نوشته شده توسط بهسان اندیش در بخش پردازش تصویر (Image Processing)
    پاسخ: 3
    آخرین پست: دوشنبه 11 تیر 1397, 23:13 عصر
  2. پاسخ: 2
    آخرین پست: پنج شنبه 06 اسفند 1394, 05:20 صبح
  3. پاسخ: 2
    آخرین پست: چهارشنبه 02 اردیبهشت 1394, 14:08 عصر
  4. پاسخ: 0
    آخرین پست: جمعه 22 دی 1391, 11:04 صبح
  5. پاسخ: 1
    آخرین پست: چهارشنبه 16 آبان 1386, 09:11 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •