سلام؛ من از کتابخانه PdfReport توی aspnet core دارم استفاده میکنم. نیاز به گزارشی دارم که توی اون یکی از ردیفهای جدول pdf ادرس لوکال یک فایل هست . من میخوام این سلول از جدول لینک باشه که وقتی کاربر روی اون کلیک میکنه اون فایل باز بشه. در واقع گزارش من به این صورت هست که من یک فایل زیپ در اختیار گزارش گیرنده قرار میدم که حاوی یک فایل pdf و تعدادی پوشه که شامل عکس و فایلهای دیگه هست. حالا من میخوام بجای اینکه کاربر ادرس رو برداره بره اون فایل رو ببینه از همین توی pdf امکان دسترسی رو بهش بدم.
- هدف این پروژه، ارائهی یک سایت تمام فارسی برای کاربران فارسی زبان بوده. این هدف هم حاصل شده. هدف دیگری را هم پیگیری نمیکند و نخواهد کرد.
+ پروژهی Identity، بومیسازیهای ثالث را نمیپذیرد؛ از این جهت که اطمینانی به ترجمههای ثالث ندارند و برای یک شرکت بزرگ این مساله میتواند گران تمام شود. به همین جهت حالت پیشفرض آن، فقط زبان انگلیسی را پشتیبانی میکند.
+ مطلب «ارتقاء به ASP.NET Core 1.0 - قسمت 19 - بومی سازی » را باید پیگیری کنید. از این لحاظ که زیرساختی برای کار با فایلهای منبع و انتخاب خودکار آنها بر اساس زبان انتخابی کاربر جاری سیستم، توسط موتور بومیسازی توکار آن در ASP.NET Core وجود دارد.
نظرات مطالب
بهبود SEO برنامههای Angular
یک نکتهی تکمیلی: اضافه کردن فایلهای Sitemap.xml و Robots.txt به یک پروژهی انگیولار
دو فایل Sitemap.xml و Robots.txt را ایجاد کرده و در پوشه /src در کنار favicon.ico قرار میدهیم
├── src │ ├── sitemap.xml │ ├── favicon.ico │ ├── robots.txt
"assets": [ "src/assets", "src/sitemap.xml", "src/robots.txt", "src/favicon.ico" ],
www.example.com/sitemap.xml www.example.com/robots.txt
با تنظیم baseUrl به پوشهی src، ریشهی بررسی از داخل این پوشه شروع میشود. بنابراین برای اشارهی به پوشهای که یک سطح بالاتر است (یا همان پوشهی dist که حاوی فایلهای کامپایل شدهی کتابخانه است)، به این صورت عمل کنید:
"baseUrl": "src", "paths": { "@app/*": [ "app/*" ], "@app/core/*": [ "app/core/*" ], "@app/shared/*": [ "app/shared/*" ], "@env/*": [ "environments/*" ], "my-lib": [ "../dist/my-lib" ], "my-lib/*": [ "../dist/my-lib/*" ] }
ذخیره سازی فایلهای باینری در بانک اطلاعاتی هیچگاه ایدهی خوبی نبوده. این وضعیت با ارائهی SqlFileStream به همراه SQL Server 2008 بهبود یافت و به این صورت تنها یک اشارهگر به فایل در بانک اطلاعاتی ذخیره میشود و نه اصل فایل. پس از آن FileTable به همراه SQL Server 2012 ارائه شد که نسخهی بهبود یافتهی FileStream به شمار میرود و توسط آن امکان دسترسی به متادیتای فایل، درون SQL Server و همچنین امکان کار با فایلها در خارج از SQL Server هم پشتیبانی میشوند. بنابراین اگر از SQL Server 2012 به بعد استفاده میکنید، روش ترجیح داده شده، کار با FileTable است: یک مثال کامل از نحوهی کار با FileTable در NET Core.
+ پشتیبانی کامل از FileStream جزئی از NET Core 3x. خواهد بود.
با تشکر، با معرفی پکیجها از طریق Bower پوشه ای به نام lib در wwwroot ایجاد شده به همین ترتیب معرفی بخش inputFiles رو من به شکل زیر انجام دادم :
و همچنین پکیج مربوطه در nuget و افزونه معرفی شده در مطلب رو هم نصب کردم،با اجرای update all files در task runner محتوای فایلهای :
تغییری نمیکنند، اگر ممکن هست راهنمائی بفرمائید
"wwwroot/lib/jquery/dist/jquery.min.js",
"wwwroot/js/site.min.js" "wwwroot/css/site.min.css"
زیردامنه dl روی یک هاست دیگر هست یا روی همین هاست هست؟ آیا به صورت فیزیکی به آن دسترسی دارید؟ اگر بله، مطالبی که در اینجا عنوان شده کافی هست و نیازی به هیچ نوع پیاده سازی خاصی ندارد، چون از سرگیری مجدد جزئی از خواص متدهای بازگشت فایل توسط ASP.NET Core است. اگر خیر، در اینجا باید فایل را دریافت کنید. در مطلب «از سرگیری مجدد، لغو درخواست و سعی مجدد دریافت فایلهای حجیم توسط HttpClient» این مورد بحث شدهاست. قابلیت resume، همان از سرگیری مجدد هست. یعنی مدیریت range headers. کلاینت هدر range را با مقداری مانند bytes=500-999 ارسال میکند. شما این ابتدا و انتها را دریافت میکنید و سپس توسط روشی که در آن مطلب عنوان شده، مقدار RangeHeaderValue را تعیین و دریافت میکنید. البته من تابحال ندیدم کسی چنین کاری را انجام دهد، چون پهنای باند مصرفی یک سرور را دو برابر میکند!
نظرات مطالب
طراحی جدول فایلهای پیوستی پایگاه داده
در اکثر موراد مطرح شده فوق ، فایلهای آپلود شده وابسته بوند به یک رکورد که ابتدا میبایست رکورد مورد نظر درج تا بتوان فایل را با آن کلید آپلود و ذخیره نمود .
ولی در توضیح آقای ربال ، فرض کنید همین ادیتور سایت فعلی ، شما قصد نوشتن یک مقاله را دارید و لابه لای متون نیاز به قراردادن عکس هم دارید ، در این حالت سایت فعلی عکس مورد نظر ذخیره نموده و فقط آدرس آن برگشت داده میشود و داخل تگ src قرار داده میشود تا فایل نمایش داده شود . در این حالت فقط مشخص میشود که کاربر x فایل y را آپلود کرده است .
ولی در توضیح آقای ربال ، فرض کنید همین ادیتور سایت فعلی ، شما قصد نوشتن یک مقاله را دارید و لابه لای متون نیاز به قراردادن عکس هم دارید ، در این حالت سایت فعلی عکس مورد نظر ذخیره نموده و فقط آدرس آن برگشت داده میشود و داخل تگ src قرار داده میشود تا فایل نمایش داده شود . در این حالت فقط مشخص میشود که کاربر x فایل y را آپلود کرده است .
ارتقاء به ASP.NET Core 2.1 - معرفی بستهی Microsoft.AspNetCore.App
Microsoft.AspNetCore.All شامل یکسری بستهی پشتیبانی نشدهی توسط تیم ASP.NET Core مایکروسافت هم هست. در نگارش 2.1 این بستههای مستقیما پشتیبانی نشده حذف شده و بجای آن meta-package جدیدی به نام Microsoft.AspNetCore.App معرفی شدهاست. این meta-package شامل بستههای زیر نیست:
اگر به آنها نیاز داشتید، باید مستقیما ارجاعات آنها را تعریف کنید.
Microsoft.AspNetCore.All شامل یکسری بستهی پشتیبانی نشدهی توسط تیم ASP.NET Core مایکروسافت هم هست. در نگارش 2.1 این بستههای مستقیما پشتیبانی نشده حذف شده و بجای آن meta-package جدیدی به نام Microsoft.AspNetCore.App معرفی شدهاست. این meta-package شامل بستههای زیر نیست:
• Microsoft.Data.Sqlite • Microsoft.Data.Sqlite.Core • Microsoft.EntityFrameworkCore.Sqlite • Microsoft.EntityFrameworkCore.Sqlite.Core • Microsoft.Extensions.Caching.Redis • Microsoft.AspNetCore.DataProtection.AzureStorage • Microsoft.Extensions.Configuration.AzureKeyVault • Microsoft.AspNetCore.DataProtection.AzureKeyVault • Microsoft.AspNetCore.Identity.Service.AzureKeyVault • Microsoft.AspNetCore.AzureKeyVault.HostingStartup • Microsoft.AspNetCore.ApplicationInsights.HostingStartup
meta-package قبلی صرفا تا پایان طول عمر سری 2x پشتیبانی خواهد شد.
مسیر جدید فایلهای آنها: C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App
یک نکتهی تکمیلی
Microsoft.DotNet.Web.Spa.ProjectTemplates در آخرین نگارش آن، پشتیبانی از Angular CLI را هم افزودهاست. برای کار با آن و ایجاد یک پروژهی جدید بر مبنای آن دستورات ذیل را صادر کنید:
سپس اگر به فایلهای Startup.cs و csproj آن دقت کنید، نحوهی استفادهی از بستهی نیوگت Microsoft.AspNetCore.SpaServices.Extensions را جهت معرفی مسیر ClientApp/dist و راه اندازی خودکار UseAngularCliServer مشاهده خواهید کرد.
توضیحات بیشتر:
About The Updated SPA Templates From ASP.NET Core
Migrating from the old ASP.NET Core Angular Spa template to the newer one
Microsoft.DotNet.Web.Spa.ProjectTemplates در آخرین نگارش آن، پشتیبانی از Angular CLI را هم افزودهاست. برای کار با آن و ایجاد یک پروژهی جدید بر مبنای آن دستورات ذیل را صادر کنید:
> dotnet new --install Microsoft.DotNet.Web.Spa.ProjectTemplates::2.0.0-preview1-final > dotnet new angular
توضیحات بیشتر:
About The Updated SPA Templates From ASP.NET Core
Migrating from the old ASP.NET Core Angular Spa template to the newer one