Сначала вам необходимо настроить свой HTML-код. Вы также можете найти пример here.
<div popover="Open a previously saved project." popover-trigger="mouseenter" class="form-button" ng-file-select ng-model="file">Open Existing Project</div>
Примечание У меня есть поповер здесь, есть ошибка при загрузке, то поповер не уходит, я хотел бы предложить либо не использовать его или отправляя решение здесь, пожалуйста;)
Затем используйте часы для переменной, установленной для загрузки файла.
//Watch file for changes to run open file dialog
$scope.$watch('file', function() {
//Only make the ajax call if there is a file to upload
if ($scope.file) {
ajaxFactory.openFileDialog($scope.file, setProjectData);
}
});
В моем случае у меня есть АЯКС оболочка, которая вызывает контроллер MVC
/// <summary>
/// Save a file to the server
/// </summary>
/// <returns></returns>
[HttpPost]
public JsonResult Upload(HttpPostedFileBase file)
{
var retObject = new JsonReturnObject();
try
{
// Read bytes from http input stream
BinaryReader b = new BinaryReader(file.InputStream);
var binData = b.ReadBytes((int)file.InputStream.Length);
retObject.StringPayload = NttCommon.GetString(binData);
retObject.Success = true;
b.Close();
b.Dispose();
}
catch (ArgumentNullException ane)
{
Log.Error("An ArgumentNullException occured while uploading to FileManagerController.", ane);
retObject.StringPayload = ane.InnerException.ToString();
}
catch (ArgumentOutOfRangeException aoore)
{
Log.Error("An ArgumentOutOfRangeException occured while uploading to FileManagerController.", aoore);
retObject.StringPayload = aoore.InnerException.ToString();
}
catch (DecoderFallbackException dfe)
{
Log.Error("An DecoderFallbackException occured while uploading to FileManagerController.", dfe);
retObject.StringPayload = dfe.InnerException.ToString();
}
catch (ArgumentException ae)
{
Log.Error("An ArgumentException occured while uploading to FileManagerController.", ae);
retObject.StringPayload = ae.InnerException.ToString();
}
catch (IOException ioe)
{
Log.Error("An IOException occured while uploading to FileManagerController.", ioe);
retObject.StringPayload = ioe.InnerException.ToString();
}
catch (ObjectDisposedException ode)
{
Log.Error("An ObjectDisposedException occured while uploading to FileManagerController.", ode);
retObject.StringPayload = ode.InnerException.ToString();
}
catch (Exception e)
{
Log.Error("An unknown exception occured while uploading to FileManagerController.", e);
retObject.StringPayload = e.InnerException.ToString();
}
return FormatJsonReturnResult.ReturnStandardJsonResult(retObject);
}
https://github.com/nervgh/angular-file- upload/ – JabberwockyDecompiler
Я пробовал это, но это не сработало. Можете ли вы показать мне пример? – Yunnigg