Пример кода Canon EDSDK - поможет понять, сохранить файл в папку

Я новичок в EDSDK, но до сих пор был очень доволен результатами. Моя программа работает нормально, сохраняя в камеру, однако, когда я установил для сохранения на хосте, мне неясно, где он думает, что он должен сохранить.

Кажется, все работает. Вызывается функция обратного вызова, анимируется индикатор выполнения, но я понятия не имею, куда, по ее мнению, указывает файл.

самое близкое, что я получаю, это нахождение команды @"download", аргумент этого вызова должен быть приведен как (EdsDirectoryItemRef)

Кажется, что все это происходит из EDSCALLBACK handleObjectEvent, но я не могу понять, как он создается.

В идеале я хотел бы иметь возможность указать, куда на диске я хочу поместить изображения. Может ли кто-нибудь оказать некоторую помощь?

[редактировать]

Хорошо, я вижу, что изображения попадают в каталог сборки, но, возможно, кто-то может помочь мне понять, почему. Или еще лучше, как указать путь для себя.

1 ответ

Когда вы устанавливаете saveTo_Host, изображение сохраняется во временной памяти в камере. Затем камера запускает событие DirItemRequestTransfer, которое вызывает функцию обратного вызова handleObjectEvent. Ссылка на изображение, сохраненное во временной памяти камеры, передается в функцию обратного вызова. В функции обратного вызова handleObjectEvent вы, вероятно, будете создавать поток файлов и использовать EdsDownload для загрузки файла в папку на ПК (которая указана в потоке файлов).

Когда вы создаете файловый поток, вам нужно указать имя файла (первый аргумент). Это имя файла определяет, где будет храниться изображение. Если вы просто укажете имя файла без пути, изображение будет сохранено в каталоге сборки. Если вы хотите сохранить файл в определенном месте, вам нужно указать имя файла вместе с его путем.

Надеюсь это поможет.

Другие вопросы по тегам