Где код из папки "build" на asp.net C# (mvc)
Я должен исправить ошибку на веб-сайте, который использует asp.net, и я не знаю много об этом (asp.net C# mvc)...
проблема в плагине с именем uploadify, и он вызывает скрипт для загрузки файлов:
'script': '<%= ResolveUrl("~/Build/UploadImages")%>/<%= ViewData["build_id"] %>',
в браузере покажи так:
'script': '/prod/cms/Build/UploadImages/680ad442-8e9c-459c-b253-e9c389c1622b',
проблема в том, что папка 'Build' не существует, я думаю, что она создана asp.net....
Я не могу найти код, который загружает файл... Я искал везде слова "SaveAs", "SaveFileAs", "Upload", "Uploadify" во всех файлах, но я до сих пор не нашел его…,
проблема, которая дает uploadify - это "Ошибка HTTP" после того, как он показывает 100% загрузки, я искал в Google, но не повезло... Я думаю, что если я найду скрипт, который загружает файл, возможно, я смогу это исправить
вот весь сценарий моего файла:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<Framework.Models.Image>>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Photo
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>
Photo</h2>
<p>
<label>
Tipo:</label>
<%= Html.DropDownList("type", (SelectList)ViewData["types"], new { onchange = "changeScript(this.value)" })%>
</p>
<div id="dvUpload">
<input id="upload" name="upload" type="file" />
<a href="#" onclick="Upload('<%= ViewData["build_id"] %>')">Fazer Upload</a> | <a
href="javascript:$('#upload').uploadifyClearQueue();">Limpar Uploads</a>
</div>
<%-- <% using (Html.BeginForm("UploadImages", "build", new { id = ViewData["build_id"], type = "c1956908-64f5-4195-ba73-4d7710d560d7" }, FormMethod.Post, new { enctype = "multipart/form-data" }))
{%>
<input id="File1" name="upload" type="file" />
<input type="submit" value="Enviar" />
<%} %>--%>
<br />
<br />
<table>
<tr>
<th>
</th>
<th>
Type
</th>
<th>
Imagem
</th>
<th>
Legenda
</th>
</tr>
<% foreach (var item in Model)
{ %>
<tr>
<td>
<%= Html.ActionLink("Apagar", "deleteimage", new { id = item.Properties.id, build_id = item.Properties.build_id }, new { onclick = "return confirm('Confirma esta ação?')" })%>
</td>
<td>
<%= Html.Encode(item.Type)%>
</td>
<td>
<img src="<%= Cms.Helpers.Settings.CMS_ADDRESS + item.Properties.url_address %>" width="150" height="100" />
</td>
<td>
<%= Html.TextBox(item.Properties.id.ToString(), item.Properties.description) %>
<input type="button" value="Ok" onclick="saveLegend('<%= item.Properties.id.ToString() %>')" />
</td>
</tr>
<% } %>
</table>
<p>
<%= Html.ActionLink("Create New", "Create") %>
</p>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HeaderContent" runat="server">
<script type="text/javascript" src="<%= ResolveUrl("~/Content/JS/swfobject.js") %>"></script>
<script type="text/javascript" src="<%= ResolveUrl("~/Content/JS/jQuery/jquery.uploadify.v2.1.0.js") %>"></script>
<script type="text/javascript">
var html = "";
jQuery(document).ready(function() {
html = jQuery("#dvUpload").html();
jQuery("#upload").uploadify({
'uploader': '<%= ResolveUrl("~/Content/Flash/uploadfy.swf") %>',
'script': '<%= ResolveUrl("~/Build/UploadImages")%>/<%= ViewData["build_id"] %>',
'cancelImg': '<%= ResolveUrl("~/Content/Images/cancel.png") %>',
'folder': '<%= ResolveUrl("~/Content/Images") %>',
'multi': true,
'simUploadLimit': 10,
'fileDesc': 'Apenas Imagens são permitidas',
'fileExt': '*.gif;*.jpg;*.png',
'onError' : function(errorType) {
//alert('The error was ' + errorType.toSource());
alert(JSON.stringify(errorType, null, 4));
},
'onComplete': function() {
alert("foi tudo");
}
});
AddNullValueSelectObject('type');
});
function Upload(build_id) {
jQuery('#upload').uploadifyUpload();
}
function changeScript(val)
{
jQuery("#dvUpload").empty();
jQuery("#dvUpload").html(html);
var culture = jQuery('#culture').val();
jQuery("#upload").uploadify({
'uploader': '<%= ResolveUrl("~/Content/Flash/uploadfy.swf") %>',
'script': '<%= ResolveUrl("~/Build/UploadImages")%>/<%= ViewData["build_id"] %>?type=' + val,
'cancelImg': '<%= ResolveUrl("~/Content/Images/cancel.png") %>',
'folder': '<%= ResolveUrl("~/Content/Images") %>',
'multi': true,
'simUploadLimit': 10,
'fileDesc': 'Apenas Imagens são permitidas',
'fileExt': '*.gif;*.jpg;*.png',
'onError' : function(errorType) {
//alert('The error was: ' + errorType.toSource());
alert(JSON.stringify(errorType, null, 4));
},
'onComplete': function() {
alert("foi tudo");
}
});
}
function saveLegend(id)
{
var text = jQuery('#' + id).val();
jQuery.ajax({
type: 'GET',
url: '<%= ResolveUrl("~/build/UpdatePhotoLegend")%>/' + id,
data: 'legend=' + text,
success: function(data) {
alert('Alterado com sucesso!');
}
});
}
function AddNullValueSelectObject(object_id) {
jQuery('#' + object_id).append("<option value='00000000-0000-0000-0000-000000000000'>--- SELECIONE ---</option>");
jQuery("#" + object_id + " option[value='00000000-0000-0000-0000-000000000000']").attr('selected', 'selected');
}
</script>
</asp:Content>
заранее спасибо...
2 ответа
Обычно я не отвечал, если не был уверен в своем ответе, так как никто не отвечает...
У меня нет опыта с uploadify, но похоже, что вы используете старую версию uploadify, и API немного изменился, поэтому мне сложно сказать наверняка. Я думаю, что параметр "script" фактически ссылается на "сценарий" на стороне сервера, который обычно обрабатывает сохранение загруженного файла (параметр "uploader" в текущей версии http://www.uploadify.com/documentation/uploadify/uploader/).
Есть ли у вас класс BuildController с действием (методом) UploadImages? Если это так, то это, вероятно, одна из причин вашей ошибки (что-то выдает ошибку при сохранении на диск). Если у вас есть BuildController, мне интересно, правильный ли этот вызов для разрешения URL? Разрешенный путь мне не подходит (обычно вы не разрешаете основанный на маршруте URL в mvc, так как разрешение URL не известно о маршруте).
Если у вас нет BuildController, и я полностью отключен, дайте мне знать, и я удалю этот ответ. Это несколько выстрел в темноте. Но это правдоподобно.
РЕДАКТИРОВАТЬ: на тот случай, если у вас нет опыта работы с MVC, код из "папки Build" должен быть расположен в вашем веб-приложении mvc в папке с именем Controllers внутри класса с именем BuildController внутри метода с именем UploadImages.
Добавил мой комментарий к ответу
Возможно, что скрипт встроен как ресурс. Попробуйте использовать ILSpy, чтобы подтвердить это. В этом случае вам нужно будет получить доступ к исходному коду. Кроме того, возможно, что сценарий был минимизирован / запутан, и поэтому вы не можете ничего найти.