¿Es posible obtener la URL con MediaManager.GetMediaUrl
que siempre incluye la parte del servidor?Obtener URL de medios incluida la parte del servidor
Respuesta
Acabo de contestar a similar question en Stack Overflow recientemente. Creo que la respuesta se aplica a la tuya también.
Resumen breve: no hay ninguna configuración para hacer esto, debe sobrescribir algunos de los métodos integrados para hacer esto. Vea el enlace de arriba para los detalles exactos.
he descubierto que el siguiente trabajo para la producción de direcciones URL completas para los elementos multimedia:
public static string GetMediaUrlWithServer(MediaItem mediaItem, Item item = null)
{
item = item ?? Sitecore.Context.Item;
var options = new UrlOptions {AlwaysIncludeServerUrl = true, AddAspxExtension = false};
var itemUrl = LinkManager.GetItemUrl(item, options);
var mediaOptions = new MediaUrlOptions {AbsolutePath = true};
var mediaUrl = MediaManager.GetMediaUrl(mediaItem, mediaOptions);
return itemUrl + mediaUrl;
}
las direcciones URL producidos serán relativa a item
por lo que puede suministrar una referencia a su artículo principal en vez de Sitecore.Context.Item
Sólo para subir esto, en Sitecore 7 la opción AlwaysIncludeServerUrl
también se incluye en MediaUrlOptions
(no sé desde qué versión de Sitecore)
Te gusta esto:
MediaUrlOptions muo = new MediaUrlOptions();
muo.AlwaysIncludeServerUrl = true;
String url = MediaManager.GetMediaUrl((MediaItem)item, muo);
Sí, puedes hacer eso!
La forma correcta de configurar este parámetro es especificando dentro del archivo de configuración en linkManager sección, donde tiene esta y el resto de configuraciones con respecto a cómo se resolverán sus URL. Aquí está toda la sección, que está interesado en alwaysIncludeServerUrl parámetro:
<linkManager defaultProvider="sitecore">
<providers>
<clear />
<add name="sitecore" type="Sitecore.Links.LinkProvider, Sitecore.Kernel"
alwaysIncludeServerUrl="true"
addAspxExtension="true"
encodeNames="true"
languageEmbedding="asNeeded"
languageLocation="filePath"
shortenUrls="true"
useDisplayName="false" />
</providers>
</linkManager>
- 1. Obtener imagen de URL/servidor
- 2. ¿Cómo puedo obtener la URL del servidor en ejecución
- 3. Obtener la URL completa, incluida la cadena de consulta y el ancla
- 4. ¿Por qué la parte hash de la URL no está en el lado del servidor?
- 5. Obtener la primera parte de una ruta URL
- 6. Cómo obtener Url Hash (#) desde el lado del servidor
- 7. ¿Puedo leer la parte hash de la URL en mi aplicación del lado del servidor (PHP, Ruby, Python, etc.)?
- 8. Umbraco v5 cómo obtener el archivo de medios URL en la vista de afeitar
- 9. Obtener valores del servidor
- 10. Descodificación de URL del servidor SQL
- 11. Redirección de URL del servidor ADFS
- 12. ¿En qué parte de la cadena de llamadas debe estar incluida la extensión EF LINQ()?
- 13. PHP & Hash/Fragment Parte de la URL
- 14. ¿Cómo obtener la dirección IP del servidor?
- 15. Wicket: Obtener URL del navegador
- 16. ¿Cómo obtener innerHtml, incluida la etiqueta, usando jQuery?
- 17. Obtener la URL del remitente de la solicitud con HttpServletRequest
- 18. Mongodb obtener una parte específica del documento
- 19. Obtener URL de iframe y actualizar el hash en la URL del navegador
- 20. GWT. Eliminar la URL de la parte de ancla
- 21. Obtener url de solicitud del objeto xhr
- 22. ¿Cómo obtener la ruta del servidor de la ruta física?
- 23. obtener la parte principal de la url incluyendo el directorio virtual
- 24. Magento Ajax - ¿Cómo obtener solo la parte del cuerpo?
- 25. Obtener el nombre del servidor durante la inicialización del servlet
- 26. Obtener la ruta del archivo del servidor con Paperclip
- 27. ¿La URL de solicitud HTTP no forma parte del encabezado de solicitud HTTP?
- 28. Django URL de medios de comunicación en los archivos CSS
- 29. obtener la ruta a la acción del controlador (url) programáticamente
- 30. ASP - Cómo obtener la URL del sitio de referencia
no creo que esto se aplica a MediaManager.GetMediaUrl –