GVKun编程网logo

iphone – NKAssetDownload下载问题(苹果手机下载出现unable to download)

7

如果您对iphone–NKAssetDownload下载问题和苹果手机下载出现unabletodownload感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解iphone–NKAssetDown

如果您对iphone – NKAssetDownload下载问题苹果手机下载出现unable to download感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解iphone – NKAssetDownload下载问题的各种细节,并对苹果手机下载出现unable to download进行深入的分析,此外还有关于android – taskSnapshot.getDownloadUrl()已弃用、android – 在webview已经获取文件后调用setDownloadListener onDownloadStart吗?、android – 未知的URL内容:// downloads / my_downloads、baidunetdiskdownload是什么文件夹的实用技巧。

本文目录一览:

iphone – NKAssetDownload下载问题(苹果手机下载出现unable to download)

iphone – NKAssetDownload下载问题(苹果手机下载出现unable to download)

我目前正在创建iOS报亭应用.我添加了问题并以我想要的方式工作.但是,当我尝试去下载他们的远程文件时,它似乎不起作用.没有调用任何委托方法,也没有写入任何文件.

这是我肯定的:

>一个UITableViewController,它是一个NSURLConnectionDownloadDelegate.
> uibackgroundmodes(在info.plist文件中)添加了’newsstand-content’
> #import在我的UITableViewController的标题中
> NSURLConnectionDownloadDelegate的方法已实现

当用户同意下载问题时,会发生以下代码(注意:问题不是零):

// Download the Issue!
    NSLog(@"Starting Download of issue %@",issue.name);

    // Generate the url of the issue         
    NSURL * downloadURL = [dataManager pdfURLForIssue:issue];

    // Create the request
    NSMutableuRLRequest *request = [NSMutableuRLRequest requestWithURL:downloadURL
                                                           cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData
                                                       timeoutInterval:30.0];

    // Create the NKAssetDownload object
    NKAssetDownload *assetDownload = [issue addAssetWithRequest:request];

    // Set user info so I kNow which issue's UIProgressView to update 
    [assetDownload setUserInfo:[NSDictionary dictionaryWithObjectsAndKeys:issue.name,@"Name",nil]];

    // start download
    [assetDownload downloadWithDelegate:self];

我不知道发生了什么事.从我读过的所有内容来看,我似乎已经正确地实现了一切;然而,一切都没有发生.我设置断点,NSLogs等;但没什么.我甚至让它运行一段时间然后检查导演[问题contentURL]说文件也会被移动(在我的connectionDidFinishDownloading:destinationURL:方法中).

有人可以帮忙吗?或许对我来说有些想法?我被困了几天.如果您需要查看更多代码,请告诉我们.谢谢!

解决方法

我终于解决了.我开始了一个全新的项目并对该项目进行了所有下载测试.事实证明(我可能是错的,但这是我发现的)即使正常的NSURLConnection或下载请求在iPhone / iPad模拟器中工作,似乎NKAssetDownload将无法工作,除非它在实际设备上运行.

总而言之,我没有做任何错误的代码;但是,我需要在实际设备上运行应用程序,以便NKAssetDownload对象开始下载.当然,它可能只是我的经验,但它解决了我的问题.

我希望这有助于其他遇到类似问题的人.

android – taskSnapshot.getDownloadUrl()已弃用

android – taskSnapshot.getDownloadUrl()已弃用

到目前为止,从Firebase中的Storage获取文件的方式,我曾经这样做过
taskSnapshot.getDownloadUrl,但现在不推荐使用,我应该使用哪种方法?

解决方法

正如Doug所说,你需要在Task中运行它

以下是您需要如何实现它的提示

final StorageReference ref = storageRef.child("your_REF");
uploadTask = ref.putFile(file);

    Task<Uri> urlTask = uploadTask.continueWithTask(new Continuation<UploadTask.TaskSnapshot,Task<Uri>>() {
        @Override
        public Task<Uri> then(@NonNull Task<UploadTask.TaskSnapshot> task) throws Exception {
            if (!task.isSuccessful()) {
                throw task.getException();
            }

            // Continue with the task to get the download URL
            return ref.getDownloadUrl();
        }
    }).addOnCompleteListener(new OnCompleteListener<Uri>() {
        @Override
        public void onComplete(@NonNull Task<Uri> task) {
            if (task.isSuccessful()) {
                Uri downloadUri = task.getResult();
                String downloadURL = downloadUri.toString();
            } else {
                // Handle failures
                // ...
            }
        }
    });

有关如何实现它的更多信息,您可以检查在我回答此https://github.com/udacity/and-nd-firebase/issues/41后7天打开的这个github问题

android – 在webview已经获取文件后调用setDownloadListener onDownloadStart吗?

android – 在webview已经获取文件后调用setDownloadListener onDownloadStart吗?

WebView是否会执行Http获取并下载完整文件然后调用我的onDownloadStart()方法并且我的代码再次下载文件?

在Android应用程序中使用的WebView中,我们需要处理下载PDF文件.我看到了我认为有意义的行为,但看起来很奇怪,所以我希望有人能为我验证.

设置WebView后,我们调用setDownloadListener()并创建一个新的DownloadListener来处理onDownloadStart()方法调用.在onDownloadStart()方法中,我们使用HttpURLConnection从我们的Web服务器获取资源.

在网络跟踪中,我看到为同一资源执行了两个Http Get请求.我假设这是因为webview首先对资源进行了Get,然后webview执行自己的处理并确定它无法呈现资源.然后webview调用onDownloadStart()方法,我们第二次检索资源.

SetDownloadListener的文档说:

Register the interface to be used when content can not be handled by
the rendering engine, and should be downloaded instead. This will
replace the current handler.

webview不知道它是否可以呈现资源,直到它从服务器获得响应并且可以读取返回的内容类型.因此,它必须首先执行GET或HEAD来读取响应头.因此,双重下载行为似乎是有道理的.

并且,一些跟进问题:

>这是一种常见情况吗?大多数从webview中下载文件的应用程序是否真的下载了两次文件? (这看起来很贵,但我认为可能会发生)
>有没有办法重新使用第一个请求中已下载的内容而不是再次请求它?
>为什么WebView在第一个请求而不是GET上使用Http HEAD方法? (我想这会使每个超链接都是一个两步过程,这也会很昂贵)
>有没有办法阻止额外的下载?也许使用shouldOverrideUrlLoading()来拦截请求?

解决方法:

当你开始回答你的3.问题时,它会更好:

我认为WebView对所有Ressources使用GET方法.只有在获得此请求的第一个http标头后,WebView才会检查是否有标题告诉“执行下载”

(例如Content-disposition:Attachment; filename = example.html等标题)

如果没有指向下载的标头,WebView将在其视图中显示加载和内容.

如果有下载标题,则调用onDownload(即使其值设置为“inline”).

对问题2的回答:

我认为在这种情况下,webview不会加载内容的内容.
目前我不知道重用现有请求的方法.

回答问题4

如果你覆盖了shouldInterceptRequest

就像在这个例子中:https://stackoverflow.com/a/29811280/2377961
你可以改变这种行为.

android – 未知的URL内容:// downloads / my_downloads

android – 未知的URL内容:// downloads / my_downloads

我正在使用Download manger下载一些多媒体文件并对其进行分类.我也在使用Crashlytics,这是一个错误,我经常在不同的设备和Android版本上得到它.我正在寻找你的解决方案/建议!

java.lang.IllegalArgumentException: UnkNown URL content://downloads/my_downloads
   at android.content.ContentResolver.insert(ContentResolver.java:862)
   at android.app.DownloadManager.enqueue(DownloadManager.java:1252)
   at com.myapp.LessonFragment$DownloadClickListener.onClick(SourceFile:570)
   at android.view.View.performClick(View.java:4262)
   at android.view.View$PerformClick.run(View.java:17351)
   at android.os.Handler.handleCallback(Handler.java:615)
   at android.os.Handler.dispatchMessage(Handler.java:92)
   at android.os.Looper.loop(Looper.java:137)
   at android.app.ActivityThread.main(ActivityThread.java:4921)
   at java.lang.reflect.Method.invokeNative(Method.java)
   at java.lang.reflect.Method.invoke(Method.java:511)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
   at dalvik.system.NativeStart.main(NativeStart.java)

您可以在下面看到我的代码:

private class DownloadClickListener implements View.OnClickListener {
    @Override
    public void onClick(View view) {
        // Check if download manager available before request
        if (!DownloadHelper.isDownloadManagerAvailable(getActivity())) {
            // Build custom alert dialog
            AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
            builder.setMessage(R.string.download_manager_disabled);
            builder.setCancelable(false);
            builder.setPositiveButton(R.string.ok, (dialog, which) -> {
                dialog.dismiss();
            });
            // Create and display alert dialog
            AlertDialog dialog = builder.create();
            dialog.show();
            return;
        }

        // display short toast on download clicked
        Toast.makeText(getActivity(), R.string.lesson_download_start, Toast.LENGTH_SHORT).show();

        // Get attach from view tag
        Attache attache = (Attache) view.getTag();

        // Get lesson using lesson id
        Lesson lesson = new Select().from(Lesson.class)
                .where(Condition.column("id").is(attache.getLessonId()))
                .querySingle();

        // Set file name from url and attache name
        Uri uri = Uri.parse(attache.getFile());
        String fileName = attache.getName() + '.'
                + MimeTypeMap.getFileExtensionFromUrl(attache.getFile());

        // Check if path directory not exist and create it
        String filePath = Environment.getExternalStorageDirectory() + "/myapp/" + lesson.getTitle() + "/";
        File path = new File(filePath);
        if (!path.exists() || !path.isDirectory()) {
            if (!path.mkdirs()) {
                Timber.e("Could not create path directory.");
            }
        }

        // Check if file exist and then delete it
        File file = new File(filePath, fileName);
        if (file.exists() && file.isFile()) {
            if (file.delete()) {
                Timber.v("%s just deleted.", fileName);
            }
        }

        // Create download manager request using url
        DownloadManager.Request request = new DownloadManager.Request(uri);
        request.setTitle(attache.getName());
        request.setDestinationInExternalPublicDir("/myapp/" + lesson.getTitle(), fileName);

        // Using DownloadManager for download attache file
        DownloadManager manager = (DownloadManager) getActivity().getSystemService(Context.DOWNLOAD_SERVICE);
        manager.enqueue(request);
    }
}

解决方法:

对于那些获得错误未知URI的人:content:// downloads / public_downloads.
我设法通过@Commonsware在this answer中给出一个提示来解决这个问题.我在GitHub上找到了类FileUtils.
这里的InputStream方法用于从Download目录中获取文件.

 // DownloadsProvider
            else if (isDownloadsDocument(uri)) {

                final String id = DocumentsContract.getDocumentId(uri);

                if (id != null && id.startsWith("raw:")) {
                    return id.substring(4);
                }

                String[] contentUriPrefixesToTry = new String[]{
                        "content://downloads/public_downloads",
                        "content://downloads/my_downloads",
                        "content://downloads/all_downloads"
                };

                for (String contentUriPrefix : contentUriPrefixesToTry) {
                    Uri contentUri = ContentUris.withAppendedId(Uri.parse(contentUriPrefix), Long.valueOf(id));
                    try {
                        String path = getDataColumn(context, contentUri, null, null);
                        if (path != null) {
                            return path;
                        }
                    } catch (Exception e) {}
                }

                // path Could not be retrieved using ContentResolver, therefore copy file to accessible cache using streams
                String fileName = getFileName(context, uri);
                File cacheDir = getDocumentCacheDir(context);
                File file = generateFileName(fileName, cacheDir);
                String destinationPath = null;
                if (file != null) {
                    destinationPath = file.getAbsolutePath();
                    saveFileFromUri(context, uri, destinationPath);
                }

                return destinationPath;
            }

baidunetdiskdownload是什么文件夹

baidunetdiskdownload是什么文件夹

baidunetdiskdownload是百度网盘默认下载文件的文件夹;百度网盘是百度推出的一项云存储服务,只要下载东西到百度网盘里,都会默认保存到这个文件夹中,并且可跨终端随时随地查看和分享。

baidunetdiskdownload是什么文件夹

本教程操作环境:windows10系统、DELL G3电脑。

baidunetdiskdownload是什么文件夹

baidunetdiskdownload是百度网盘客户端的默认下载文件的文件夹。文件夹中存储着百度网盘下载的文件。百度网盘是百度推出的一项云存储服务,已覆盖主流PC和手机操作系统,用户将可以轻松将自己的文件上传到网盘上,并可跨终端随时随地查看和分享。

baidunetdiskdownload是百度云盘的默认下带地址。

只要你下载东西到百度云盘里,都会默认保存到这个文件夹中,这个文件夹一般不容易被删除,不喜欢用这个文件夹保存文件的,可以再自行更正下载路径,保存到自己想要的地方去,或者找专业的技术人员处理这个文件夹。

baidunetdisk文件夹是百度云默认下载地址的文件夹。baidunetdisk文件夹可以删除,不过删除后,下载的内容也会被清除,因此需要谨慎删除。baidunetdisk可以保存用户上传的文件,并可跨终端随时随地查看和分享,百度网盘还提供群组功能、相册功能、备份功能、笔记等功能。

01.png

扩展知识

2016年10月11日,百度云改名为百度网盘,此后会更加专注发展个人存储、备份功能。2021年12月底,百度网盘青春版于日前在各大应用商店正式上线,此举旨在为为所有用户提供无差别下载、上传服务,并免费提供10GB储存空间。

文件特色

  • 多元化存储

百度网盘客户端可存储图片、音频、视频等文件数据,当然也包括通讯录、日历、浏览器书签等信息。

  • 场景化服务

相册、文库、音乐、短信、通讯录等场景化的服务深入生活、工作的每个角落。

  • 全平台覆盖

数据同步横跨电脑、手机、平板、电视,方便使用。

  • 全方位开放API

软件允许用户授权第三方应用使用和编辑个人数据。

更多相关知识,请访问常见问题栏目!

以上就是baidunetdiskdownload是什么文件夹的详细内容,更多请关注php中文网其它相关文章!

关于iphone – NKAssetDownload下载问题苹果手机下载出现unable to download的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于android – taskSnapshot.getDownloadUrl()已弃用、android – 在webview已经获取文件后调用setDownloadListener onDownloadStart吗?、android – 未知的URL内容:// downloads / my_downloads、baidunetdiskdownload是什么文件夹的相关信息,请在本站寻找。

本文标签: